Linux   发布时间:2022-03-31  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了linux – 如何让Log4perl每天轮换我的日志?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我正在阅读 Log4perl,并希望尝试使用它来简单地管理在Linux机器上运行的Perl脚本.我也读过newsyslog和logrotate但是想尽可能使用Log4perl. 我正在尝试配置/etc/log4perl.conf文件,以便它: >定义一个小部件记录器(INFO级别),它将所有输出写入/opt/myapp/logs/myapp-\u0026lt;datetiR_305_11845@e\u0026gt;.l
我正在阅读 Log4perl,并希望尝试使用它来简单地管理在Linux机器上运行的Perl脚本.我也读过newsyslog和logrotate但是想尽可能使用Log4perl.

我正在尝试配置/etc/log4perl.conf文件,以便它:

>定义一个小部件记录器(INFO级别),它将所有输出写入/opt/myapp/logs/myapp-\u0026lt;datetiR_305_11845@e\u0026gt;.log,其中< datetiR_305_11845@e>是一个日期/时间格式的字符串,如2012-12-20
>此myapp-< datetiR_305_11845@e> .log文件需要每天轮换(最好在午夜),旧文件将被删除,并使用< datetiR_305_11845@e>创建新文件.例如,myapp-2012-12-20.log将替换为myapp-2012-12-21.log等.

这是我认为最接近的最佳尝试,但仍缺少一些配置:

#####/etc/log4perl.conf############################################################
log4perl.logger.widget                      = INFO,MyAppLogAppender

log4perl.appender.MyAppLogAppender          = Log::Log4perl::Appender::File
log4perl.appender.MyAppLogAppender.filename = /opt/myapp/logs/myapp-???.log
log4perl.appender.MyAppLogAppender.layout   = Log::Log4perl::Layout::SimpleLayout
###################################################################################

如何配置log4perl.appender.MyAppLogAppender每天旋转一次,删除文件,并创建一个具有正确时间戳的新文件?提前致谢.

解决方法

下面是一个Log :: Log4perl配置文件的示例,它定义了午夜的每日翻转(日期模式yyyy-MM-dd),保持最多5个已保存的日志文件,处于WARN级别,并将所有内容转储到屏幕:

log4perl.logger                         = TRACE,Screen,Logfile

log4perl.appender.Logfile               = Log::Dispatch::FileRotate
log4perl.appender.Logfile.Threshold     = WARN
log4perl.appender.Logfile.filename      = test.log
log4perl.appender.Logfile.max           = 5
log4perl.appender.Logfile.DatePattern   = yyyy-MM-dd
log4perl.appender.Logfile.TZ            = PST
log4perl.appender.Logfile.layout        = Log::Log4perl::Layout::PatternLayout 
log4perl.appender.Logfile.layout.ConversionPattern = %d %m %n

log4perl.appender.Screen                = Log::Log4perl::Appender::Screen
log4perl.appender.Screen.stderr         = 0
log4perl.appender.Screen.utf8           = 1
log4perl.appender.Screen.layout         = Log::Log4perl::Layout::PatternLayout::Multiline
log4perl.appender.Screen.layout.ConversionPattern = [%p] %m %n

(参https://metacpan.org/module/Log::Log4perl::FAQ#How-can-I-roll-over-my-logfiles-automatically-at-midnight-)

大佬总结

以上是大佬教程为你收集整理的linux – 如何让Log4perl每天轮换我的日志?全部内容,希望文章能够帮你解决linux – 如何让Log4perl每天轮换我的日志?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。