Chinaunix首页 | 论坛 | 博客
  • 博客访问: 326291
  • 博文数量: 88
  • 博客积分: 2051
  • 博客等级: 大尉
  • 技术积分: 950
  • 用 户 组: 普通用户
  • 注册时间: 2008-04-14 23:59
文章分类

全部博文(88)

文章存档

2012年(3)

2011年(2)

2010年(9)

2009年(14)

2008年(60)

我的朋友

分类: C/C++

2008-09-27 16:47:22

想在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) |
给主人留下些什么吧!~~

abe63642008-10-24 18:20:04

楼主,想请教一下 在ACE当中怎么把LogRecord写到指定文件的(文件是每天按日期来命名的)