linux – 如何让Log4perl每天轮换我的日志?
我正在阅读
Log4perl,并希望尝试使用它来简单地管理在Linux机器上运行的Perl脚本.我也读过newsyslog和logrotate但是想尽可能使用Log4perl.
我正在尝试配置/etc/log4perl.conf文件,以便它: >定义一个小部件记录器(INFO级别),它将所有输出写入/opt/myapp/logs/myapp-u0026lt;datetimeu0026gt;.log,其中< datetime>是一个日期/时间格式的字符串,如2012-12-20 这是我认为最接近的最佳尝试,但仍缺少一些配置: #####/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-) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |