1. 安装
Log4D下载:
LoggerPro下载
特点:
log4d简单易用、性能稳定
LoggerPro貌似功能很强大,只是没有详细的文档,懒得翻源码
安装步骤
Log4D是开源的,所以可以进行重新编译,,解压到文件夹。打开文件夹"...\log4delphi-0.8",新建一个文件夹"build";编译的时候可能出现个错误提示TFileUnit不存在直接将他删除重新编译即可!
导入Delphi:Tool-->Options-->Environment Options--->Delphi Options--Library-->Library path
2. 使用
载入配置文件
菜单--->Project-->View Source
1uses 2 Vcl.Forms, 3 TConfiguratorUnit, {需要引用该单元} 4 Unit1 in 'Unit1.pas' {Form1}; 5 6{$R *.res} 7 8begin 9 Application.Initialize; 10 Application.MainFormOnTaskbar := True; 11 doPropertiesConfiguration('log4delphi.properties'); { 初始化,读取属性 } 12 Application.CreateForm(TForm1, Form1); 13 Application.Run; 14 15end.
使用
1unit Unit1; 2 3interface 4//TLoggerUnit需要引入该单元 5uses 6 TLoggerUnit, Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, 7 System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls; 8 9type 10 TForm1 = class(TForm) 11 Button1: TButton; 12 procedure Button1Click(Sender: TObject); 13 private 14 { Private declarations } 15 public 16 { Public declarations } 17 end; 18 19var 20 Form1: TForm1; 21 22implementation 23 24{$R *.dfm} 25 26procedure TForm1.Button1Click(Sender: TObject); 27begin 28 TLogger.GetInstance.Debug('按钮1被点了'); {获取TLogger实例} 29end; 30end. 31
3. 配置文件(log4delphi.properties)
1# 控制输出的信息类别 2log4delphi.rootLogger=DEBUG,fileAppender 3#单个文件 4log4delphi.appender.fileAppender=TFileAppender 5#从代码中得出多个文件保存日志。单个文件的最大尺寸使用MaxFileSize设置,文件个数使用MaxBackupIndex设置。 6log4delphi.appender.fileAppender=TRollingFileAppender 7log4delphi.appender.fileAppender.MaxBackupIndex=20 8log4delphi.appender.fileAppender.MaxFileSize=3M 9#文件编码,否则日志文件内容会乱码 10log4j.appender.A1.Encoding=UTF-8 11#文件名称 12log4delphi.appender.fileAppender.File=app.log 13#exe所在目录 14log4delphi.appender.fileAppender.AppDir=true 15#追加方式 16log4delphi.appender.fileAppender.Append=true 17#设置Layout 18log4delphi.appender.fileAppender.layout=TPatternLayout 19#输出格式 20log4delphi.appender.fileAppender.layout.Pattern=%d{yyyy-mm-dd hh:nn:ss:zzz} [%5p] [%L] [%e] %m%n 21
备注:
配合Linux的tail -f 日志文件名称 使用更丝滑
%d 输出时间 {}中的内容为时间的格式
%5p Level信息
%L Logger的名称例如上面的rootLogger 他输出 ROOT
%e except信息
%m 消息
%n 换行