DC娱乐网

Delphi另一个日志库LoggerPro

之前的文章给大家分享过如何在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.