随笔 - 2, 文章 - 73, 评论 - 60, 引用 - 0
数据加载中……

[S60]使用日志类RFileLogger输出调试信息

一、概述:
类RFileLogger对应的头文件和库文件分别是flogger.h和flogger.lib。
我习惯把opening代码放到我希望跟踪的class的ConstructL()函数里面,然后在析构函数里closing.在真正编码时,你最好检测一下Connect和CreateLog是否返回了KErrNone.


二、使用:
1、在类的二阶段构造ConstructL()中加上下面代码:
//打开日志文件服务的连接
RFileLogger iLog; iLog.Connect(); iLog.CreateLog(_L("MyLoggingDirectory"),_L("MyLogFile"),EFileLoggingModeOverwrite)
其中CreateLog函数有三个参数: Log路径 Log文件名 记录模式(EFileLoggingModeOverwrite|EFileLoggingModeAppend)
上面代码,是我的log文件的full path(手机上的文件系统) C:/Logs/MyLoggingDirectory/MyLogFile.
2、在类的析构函数中加入下面代码:
//关闭log文件和服务器连接
iLog.CloseLog();
iLog.Close();
3、向日志文件中输入文本和数据
命令                                    Log文件
iLog.Write(_L("Hello World"))                       11/07/2003 4:00:13 Hello World
iLog.WriteFormat(_L("Result=%d"),err)             11/07/2003 4:00:13 Result=0 iLog.HexDump(aHeader,aHeader,myPtr,4)        11/07/2003 4:00:13 myBuf:0000: 41 42 00 44 AB.D
 
如果不想记录日期和事件,可以使用这个函数来关闭:
iLog.SetDateAndTime(TBool aUseDate, TBool aUseTime)


三、使用注意:
1、  在模拟器上调试时(即日志文件文件创建在计算机上):
这时,日志文件的目录应该是:C:\Symbian\7.0s\Series60_v21\Epoc32\wins\c\logs
上面的代码实际上就是在这个目录里创建一个名字为MyLoggingDirectory的文件夹,并在这里面创建一个没有扩展名的日志文件MyLogFile。
注意:文件夹MyLoggingDirectory必须由我们手动创建,但日志文件MyLogFile程序会给我们创建。如果没有创建这个文件夹,那么日志文件也就不会被创建了,但这时候程序也不会报错,只是得不到调试信息了而已。
2、  在手机上调试时(即日志文件创建在手机上)

posted on 2008-04-26 14:56 郭天文 阅读(1525) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理