我正在尝试配置/etc/log4perl.conf文件,以便它:
>定义一个小部件记录器(INFO级别),它将所有输出写入/opt/myapp/logs/myapp-\u0026lt;datetime\u0026gt;.log,其中< datetime>是一个日期/时间格式的字符串,如2012-12-20
>此myapp-< datetime> .log文件需要每天轮换(最好在午夜),旧文件将被删除,并使用< datetime>创建新文件.例如,myapp-2012-12-20.log将替换为myapp-2012-12-21.log等.
这是我认为最接近的最佳尝试,但仍缺少一些配置:
#####/etc/log4perl.conf############################################################log4perl.logger.Widget = INFO,MyAppLogAppenderlog4perl.appender.MyAppLogAppender = Log::Log4perl::Appender::filelog4perl.appender.MyAppLogAppender.filename = /opt/myapp/logs/myapp-???.loglog4perl.appender.MyAppLogAppender.layout = Log::Log4perl::Layout::SimpleLayout###################################################################################
如何配置log4perl.appender.MyAppLogAppender每天旋转一次,删除旧文件,并创建一个具有正确时间戳的新文件?提前致谢.
解决方法 下面是一个Log :: Log4perl配置文件的示例,它定义了午夜的每日翻转(日期模式yyyy-MM-dd),保持最多5个已保存的日志文件,处于WARN级别,并将所有内容转储到屏幕:log4perl.logger = TRACE,Screen,Logfilelog4perl.appender.Logfile = Log::dispatch::fileRotatelog4perl.appender.Logfile.Threshold = WARNlog4perl.appender.Logfile.filename = test.loglog4perl.appender.Logfile.max = 5log4perl.appender.Logfile.DatePattern = yyyy-MM-ddlog4perl.appender.Logfile.TZ = PSTlog4perl.appender.Logfile.layout = Log::Log4perl::Layout::PatternLayout log4perl.appender.Logfile.layout.ConversionPattern = %d %m %nlog4perl.appender.Screen = Log::Log4perl::Appender::Screenlog4perl.appender.Screen.stderr = 0log4perl.appender.Screen.utf8 = 1log4perl.appender.Screen.layout = Log::Log4perl::Layout::PatternLayout::Multilinelog4perl.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每天轮换我的日志?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)