2009年5月29日

使用 log4delphi

先到 log4delphi 下載 Binary Package
http://log4delphi.sourceforge.net/
我目前下載的是 log4delphi-0.7-bin

解壓縮後 設定 Delphi 的 Library path
Tools -> Environment Options -> Library -> Library path
加入 解壓目錄中的 \log4delphi-0.7\bin

log4delphi 的設定檔有一個範本檔在 log4delphi-0.7\example\log4delphi.properties
建立一個新專案並存檔,複製 log4delphi.properties 到專案目錄之中

編輯專案中的 log4delphi.properties

# LEVEL 設為 DEBUG,使用 fileAppender 來記錄 log
log4delphi.rootLogger=DEBUG, fileAppender
# …
log4delphi.appender.fileAppender=TFileAppender
# …
# log file 設為程式執行目錄下的 app.log
log4delphi.appender.fileAppender.File=app.log
log4delphi.appender.fileAppender.AppDir=true
# …
# 將 layout 換成 TPatternLayout 來紀錄時間等資訊
#log4delphi.appender.fileAppender.layout=TSimpleLayout
log4delphi.appender.fileAppender.layout=TPatternLayout
log4delphi.appender.fileAppender.layout.Pattern=%d{dd mmm yyyy hh:nn:ss:zzz} [%5p] %m%n
# …

儲存 log4delphi.properties
在 Form Unit 的 implementation 區中加入

uses
TConfiguratorUnit, TLoggerUnit;

var
logger : TLogger;

// 在 Form Create 事件中加入

procedure TForm1.FormCreate(Sender: TObject);
begin
logger.debug('Debug message');
logger.info('Info message');
logger.warn('Warn message');
logger.error('Error message');
logger.fatal('Fatal message');
end;

initialization
TConfiguratorUnit.doPropertiesConfiguration('log4delphi.properties');
logger := TLogger.getInstance; // Create or Get Instance

finalization
TLogger.freeInstances; // Free

執行程式後,程式執行目錄下 log 會存入 app.log

沒有留言:

網誌存檔