使用日誌類RFileLogger輸出調試資訊
來源:互聯網
上載者:User
使用日誌類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、 在手機上調試時(即記錄檔建立在手機上):