[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、 在手機上調試時(即日志文件創建在手機上)