Delphi的日志庫


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

備注:

配合Linux的tail -f 日志文件名稱 使用更絲滑

%d 輸出時間 {}中的內容為時間的格式

%5p Level信息

%L Logger的名稱例如上面的rootLogger 他輸出 ROOT

%e except信息

%m 消息

%n 換行


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM