[Delphi] Delphi开源日志框架Log4D

  • 2019 年 10 月 16 日
  • 筆記

1. 安装

Log4D下载:

官网地址

LoggerPro下载

GitHub地址

特点:

log4d简单易用、性能稳定

LoggerPro貌似功能很强大,只是没有详细的文档,懒得翻源码

安装步骤

Log4D是开源的,所以可以进行重新编译,,解压到文件夹。打开文件夹"…log4delphi-0.8",新建一个文件夹"build";编译的时候可能出现个错误提示TFileUnit不存在直接将他删除重新编译即可!

导入Delphi:Tool–>Options–>Environment Options—>Delphi Options–Library–>Library path

2. 使用

载入配置文件

菜单—>Project–>View Source

uses    Vcl.Forms,    TConfiguratorUnit, {需要引用该单元}    Unit1 in 'Unit1.pas' {Form1};    {$R *.res}    begin    Application.Initialize;    Application.MainFormOnTaskbar := True;    doPropertiesConfiguration('log4delphi.properties'); { 初始化,读取属性 }    Application.CreateForm(TForm1, Form1);    Application.Run;    end.

使用

unit Unit1;    interface  //TLoggerUnit需要引入该单元  uses    TLoggerUnit, Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants,    System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;    type    TForm1 = class(TForm)      Button1: TButton;      procedure Button1Click(Sender: TObject);    private      { Private declarations }    public      { Public declarations }    end;    var    Form1: TForm1;    implementation    {$R *.dfm}    procedure TForm1.Button1Click(Sender: TObject);  begin    TLogger.GetInstance.Debug('按钮1被点了');   {获取TLogger实例}  end;  end.  

3. 配置文件(log4delphi.properties)

# 控制输出的信息类别  log4delphi.rootLogger=DEBUG,fileAppender  #单个文件  log4delphi.appender.fileAppender=TFileAppender  #从代码中得出多个文件保存日志。单个文件的最大尺寸使用MaxFileSize设置,文件个数使用MaxBackupIndex设置。  log4delphi.appender.fileAppender=TRollingFileAppender  log4delphi.appender.fileAppender.MaxBackupIndex=20  log4delphi.appender.fileAppender.MaxFileSize=3M  #文件编码,否则日志文件内容会乱码  log4j.appender.A1.Encoding=UTF-8  #文件名称  log4delphi.appender.fileAppender.File=app.log  #exe所在目录  log4delphi.appender.fileAppender.AppDir=true  #追加方式  log4delphi.appender.fileAppender.Append=true  #设置Layout  log4delphi.appender.fileAppender.layout=TPatternLayout  #输出格式  log4delphi.appender.fileAppender.layout.Pattern=%d{yyyy-mm-dd hh:nn:ss:zzz} [%5p] [%L] [%e] %m%n