log4j2能否每天生成stdout / stderr日志文件?

时间:2016-05-03 04:38:34

标签: tomcat logging log4j log4j2

正如标题所述,我希望通过使用log4j2日志记录配置,每天生成 stdout.log stderr.log 文件。有没有办法在不重新启动我的Tomcat服务器的情况下生成它?或者像log4j版本1那样仍然像上面提到的那样无法完成任务?

我的示例log4j.properties:

og4j.rootLogger = INFO,MANAGER,CONSOLE
log4j.appender.MANAGER=org.apache.log4j.DailyRollingFileAppender
log4j.appender.MANAGER.File=${catalina.base}/logs/manager.
log4j.appender.MANAGER.Append=true
log4j.appender.MANAGER.Encoding=UTF-8
log4j.appender.MANAGER.DatePattern='.'yyyy-MM-dd-HH-mm'.log'
log4j.appender.MANAGER.layout = org.apache.log4j.PatternLayout
log4j.appender.MANAGER.layout.ConversionPattern = %n %d [%t] %-5p %c- %m%n

log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.File = $(catalina.base)/logs/stdout.log
log4j.appender.CONSOLE.Encoding = UTF-8
log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern =%n %d [%t] %-5p %c- %m%n

1 个答案:

答案 0 :(得分:0)

您指的是stdout.log和stderr.log。 Stdout和Stderr通常由ConsoleAppender处理,根本不会路由到文件。如果您希望将输出放在文件中,则可以使用某种文件追加器。日志事件永远不会被应用程序专门指向stdout或stderr,只是配置,所以我对你的问题感到有些困惑。

Log4j 1有一个RollingFileAppender,可以让你每天滚动文件,所以我不确定你为什么说它无法执行任务。 Log4j 2也有一个RollingFileAppender,虽然它有点不同,它也可以每天滚动文件。

您真的想知道如何让Tomcat将其日志事件定向到Log4j 2吗?

相关问题