想在symbian上也写一个日志记录的工具!
按照ace上面的方式,我准备定义一个LogRecord的类用来放日志消息。
通过M类的Log方法,把LogRecord输出到目的地!
把格式化和记录的动作分开!这样可以利用symbian_logger的那些程序,将消息发送到PC上!
if (ACE_BIT_ENABLED (ACE_Log_Msg::flags_, ACE_Log_Msg::VERBOSE))
|
这条语句用来记录当前进程的名字,我在LogRecord中直接用静态变量实现;然后就是记录当前时间戳。
然后就是switch(char) 语句, 解析所有%后面的符号,实现对支持的输出信息进行格式化操作!
最后,对format_str所有开关选项都处理完了过后,将对应的格式化消息copy到ACE_Log_Record当中去。
/// The log message, which resides in thread-specific storage. Note
/// that only the current log message is stored here -- it will be
/// overwritten by the subsequent call to log().
ACE_TCHAR* msg_;
|
类似于errno,每个线程都有一个msg_;其它变量都是全局的,只有一份儿!因为ACE_Log_Msg是个singleton对象!
ace中的TSS是如何实现的,我还没明白:-(
阅读(2568) | 评论(1) | 转发(0) |