Lazarus內置了Log操作類。功能雖然不強大,但是勉強夠用。也提供了最基本的按照日志級別打印日志。
拖入TEventLog組件Lazarus內置的日志組件爲TEventLog,在組件列表的System面板下可以找到。拖到窗體中即可。
![](http://image.uc.cn/s/wemedia/s/upload/2024/374b05908db07d5853227a5379d7b509.png)
Name:組件名。隨便取名,這裏設置爲Logger。
AppenContent:追加日志。設置爲true表示日志追加到文件,否則直接覆蓋。設置爲true。
LogType:日志輸出類型,ltFile表示寫文件,ltStdOut表示寫到控制台。這裏設置爲ltFile。
FileNme:日志文件名,默認爲當前項目名字。
![](http://image.uc.cn/s/wemedia/s/upload/2024/f1c94ecb8b50e743d4e83d41ca29ceab.jpg)
![](http://image.uc.cn/s/wemedia/s/upload/2024/5fc1c1dfda0431f1b5c9bb7eec84cb6b.jpg)
跟其他語言的日志類似,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']);生成的日志格式如下:
![](http://image.uc.cn/s/wemedia/s/upload/2024/b4ddc869bd110da23fbaf6087b31d884.png)