没落的delphi的日志类log4delphi

本文介绍如何在Delphi中使用log4Delphi组件实现程序运行情况的日志记录功能。包括安装步骤、配置文件说明及示例代码,帮助开发者快速上手。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

以前用过.net 和C++的日志类log4net log4cpp发现非常好用,性能稳定。

最近修改一个以前的delphi程序,想增加个日志功能。描述程序运行情况。经过简单的查找log4delphi,与上述是相同的开源网站提供的。

安装:
http://sourceforge.net/projects/log4delphi/files/下载0.8版本,解压到文件夹。打开文件夹"...\log4delphi-0.8",新建一个文件夹"build";编译的时候可能出现个错误提示TFileUnit不存在直接将他删除重新编译即可!

详见:http://blog.youkuaiyun.com/brightgems/article/details/814042

下面是整理网上的资料,自己的心得。


使用方法:

1.编译完成后然后安装(打开dpk)

2.创建新项目,在程序运行的开始部分类似代码如下

uses
  ...TConfiguratorUnit...


begin
  Application.Initialize;
  TConfiguratorUnit.doPropertiesConfiguration('log4delphi.properties'); //加载配置文件,注意此文件必须存在否则出现错误
  ...
  Application.Run;
  TLogger.freeInstances; //释放TLogger
end.

//下面是在需要的地方

在uses 添加TLoggerUnit后

var
    logger : TLogger;
begin
    logger := TLogger.getInstance;
    logger.ERROR('error');  //稍后看文件即可看到日志

end;

log4delphi.properties说明(在example文件夹下)

log4delphi.debug=false  #关闭调试模式

log4delphi.rootLogger=DEBUG, fileAppender #设置rootLoger的LEVEL为DEBUG,名字为fileAppender下面能用到或者换句话说只有DEBUG等级以上的才能记录日志

#log4delphi.appender.fileAppender=TFileAppender  //单个文件
log4delphi.appender.fileAppender=TRollingFileAppender  //从代码中得出多个文件保存日志。单个文件的最大尺寸使用MaxFileSize设置,文件个数使用MaxBackupIndex设置。
log4delphi.appender.fileAppender.MaxBackupIndex=10
log4delphi.appender.fileAppender.MaxFileSize=1M
log4delphi.appender.fileAppender.File=app.log //文件名称
log4delphi.appender.fileAppender.AppDir=true //exe所在目录
log4delphi.appender.fileAppender.Append=true //追加方式


#对日志的输出格式的设置

#log4delphi.appender.fileAppender.layout=TSimpleLayout  //此种方式最简单,日志文件中只写入你输出的内容如:logger.DEBUG('ddd'); 日志只记录ddd
#log4delphi.appender.fileAppender.layout=TXMLLayout  //未测试
#log4delphi.appender.fileAppender.layout=THTMLLayout //未测试
#log4delphi.appender.fileAppender.layout.Title=Document Title //未测试
log4delphi.appender.fileAppender.layout=TPatternLayout //相当于自定义,使用Pattern参数来设置日志输出格式
log4delphi.appender.fileAppender.layout.Pattern=%d{yyyy-mm-dd hh:nn:ss:zzz} [%5p] [%L] [%e] %m%n

%d 输出时间 {}中的内容为时间的格式

%5p Level信息

%L Logger的名称例如上面的rootLogger 他输出 ROOT

%e except信息

%m 消息

%n 换行

注意:我翻译的东西可能很烂,只要明白使用的方法即可。对于可能的误导本人改不负责。呵呵


评价没有.net 和 C++版功能强大,可能由于delphi的没落有关!

日志组件log4delphilog4j、log4cpp如出一辙 1.安装:log4Delphi无需安装,直接解压包解压后放入任意目录(我的目录是:'D:/3rdlib/delphi/log4delphi-0.7)即可。 2.使用:在工程文件中引用解压包中src目录下所有的*.pas文件,如下: uses Forms, Unit1 in 'Unit1.pas' {Form1}, TAppenderUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TAppenderUnit.pas', TBDELogInserterUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TBDELogInserterUnit.pas', TConfiguratorUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TConfiguratorUnit.pas', TConsoleUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TConsoleUnit.pas' {TConsole}, TDBAppenderUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TDBAppenderUnit.pas', TDBLogInserterUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TDBLogInserterUnit.pas', TDBXLogInserterUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TDBXLogInserterUnit.pas', TErrorHandlerUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TErrorHandlerUnit.pas', TFileAppenderUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TFileAppenderUnit.pas', THTMLLayoutUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/THTMLLayoutUnit.pas', TIBXLogInserterUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TIBXLogInserterUnit.pas', TLayoutUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TLayoutUnit.pas', TLevelUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TLevelUnit.pas', TLoggerUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TLoggerUnit.pas', TLoggingEventUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TLoggingEventUnit.pas', TLogLogUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TLogLogUnit.pas', TNullAppenderUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TNullAppenderUnit.pas', TOnlyOnceErrorHandlerUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TOnlyOnceErrorHandlerUnit.pas', TOptionConverterUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TOptionConverterUnit.pas', TPatternLayoutUnit in 'D:/3rdlib/delphi/log4delphi-0.7/src/delphi/TPatternLayoutUnit.pas', TPropert
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值