Delphi另一個日志庫LoggerPro

職場菊菊子 2024-04-19 09:08:06

之前的文章給大家分享過如何在Delphi中使用Log4D生成日志。今天繼續分享另一個更強大的Delphi日志組件LoggerPro。

基本用法

LoggerPro提供了一個全局日志單元LoggerPro.GlobalLogger,默認把日志寫到文件中,並且可以自動切割日志。該單元對外提供了Log日志對象,開箱即用,可以不用做過多額外設置。

LoggerPro按照日志等級,提供了其他常用的Info,WARN,Error,Debug等方法。

program ConsoleApp20240418;{$APPTYPE CONSOLE}uses System.SysUtils, LoggerPro.GlobalLogger; begin try Log.Debug('Debug message', 'main'); //第二個參數爲標簽,用于生成日志文件 Log.Info('Info message', 'main'); Log.Warn('Warning message', 'main'); Log.Error('Error message', 'errors'); WriteLn('在 "ConsoleApp20240418.00.main.log" 和 "ConsoleApp20240418.00.errors.log" 文件中查看日志'); ReadLn; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end;end.

生成的日志文件如下:

默認日志格式如下:

自定義日志

我們也可以自定義日志信息。上面的案例,日志址輸出到了文件,我們也可以同時把日志輸出到控制台。也可以設置其他日志格式,比如文件名,日志切分信息,日志格式等等。

下面的案例,日志可以同時輸出到文件和控制台。

TLoggerProFileAppender,控制日志輸出到文件。可以在Create構造函數提供更多設置TLoggerProConsoleAppender,控制日志輸出到控制台。可以在Create構造函數提供更多設置參數。program ConsoleApp20240418;{$APPTYPE CONSOLE}{$R *.res}uses System.SysUtils, LoggerPro, LoggerPro.FileAppender, LoggerPro.ConsoleAppender ;var Logger: ILogWriter;procedure SetupLogger;begin Logger := BuildLogWriter([ TLoggerProFileAppender.Create, TLoggerProConsoleAppender.Create ]);end;procedure Test2;begin try Logger.Debug('Debug msg', 'main'); Logger.Info('Info msg', 'main'); Logger.Error('Error. Quitting', 'errors'); except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end;end;begin try // Setup logger SetupLogger; // Use logger Test2; Readln; except on E: Exception do Writeln(E.ClassName, ': ', E.Message); end;end.
0 阅读:0

職場菊菊子

簡介:感謝大家的關注