Lazarus内置了Log操作类。功能虽然不强大,但是勉强够用。也提供了最基本的按照日志级别打印日志。
拖入TEventLog组件Lazarus内置的日志组件为TEventLog,在组件列表的System面板下可以找到。拖到窗体中即可。
TEventLog属性设置Name:组件名。随便取名,这里设置为Logger。
AppenContent:追加日志。设置为true表示日志追加到文件,否则直接覆盖。设置为true。
LogType:日志输出类型,ltFile表示写文件,ltStdOut表示写到控制台。这里设置为ltFile。
FileNme:日志文件名,默认为当前项目名字。
使用TEventLog写日志跟其他语言的日志类似,TEventLog也提供了不同日志级别对应的方法, Info,Warning,Debug,Error。以Info为例,语法如下,两种写法任选其一即可。
Procedure Info (const Msg : String); Procedure Info (const Fmt : String; Args : Array of const);具体使用的时候,需要加上组件名Logger,即Logger.Info, Logger.Error。参考案例:
Logger.Info('teventlog logger');Logger.Info('Log content: %s', ['this is a log message']);生成的日志格式如下: