由于我目前的任务是评估在 Delphi XE 3 中使用的日志系统,因此我正在尝试了解 Opensource 解决方案以及 CodeSite 和 SmartInspect。目前我正在尝试了解 Log4Delphi,但除了少量文档之外,我在 Delphi XE3 中使用 Log4Delphi 时遇到了以下问题:
基本的日志记录功能工作得很好。但是当我尝试使用布局选项向我的日志消息添加时间戳等更多信息时遇到了一个问题。
我使用以下语句在 dpr 文件中加载我的配置文件:
TConfiguratorUnit.doPropertiesConfiguration(ExtractFileDir(Application.ExeName)+ '\MyLoggerconfig.properties');
起初我怀疑配置文件的路径有问题,所以我编写了一个使用 GetCurrentDir 方法的不同方法。但我很快意识到配置文件正在工作。
无论我在配置文件中选择哪种布局,appender 都会在不使用正确格式的情况下继续写入日志消息。我试图完全按照 Log4Delphi 的用户指南告诉我的方式去做。但目前我无法弄清楚为什么它不能正常工作。
var
Form5: TForm5;
logger: TLogger;
layout : TLayout;
implementation
为了使用我的记录器,我如上所示声明了它。
logger := TLogger.GetInstance;
logger.SetLevel(TLevelUnit.ALL);
我使用这两种方法在 mainforms oncreate 事件中初始化我的记录器。
log4delphi.appender.fileAppender.layout=TPatternLayout
log4delphi.appender.fileAppender.layout.Pattern=%d{dd mmm yyyy hh:nn:ss:zzz} [%5p] %m%n
正如您在上面看到的,我为 TPatternLayout 选择了默认值,并且日志消息应该包含各种信息,例如时间戳。但是看起来像这样:
WARN - Value of zahl1 2
WARN - Value of zahl2 4