【问题标题】:Log4J intergration with Tomcat - catalina.out log file rotationLog4J 与 Tomcat 的集成 - catalina.out 日志文件轮换
【发布时间】:2017-01-16 18:53:10
【问题描述】:

我使用 log4j 版本 2 作为 Tomcat 8 的记录器,现在的问题是 catalina.out 文件不是每天旋转。我的 log4j.property 文件如下,

log4j.rootLogger = INFO, CATALINA, CONSOLE

# Define all the appenders
log4j.appender.CATALINA = org.apache.log4j.DailyRollingFileAppender
log4j.appender.CATALINA.File = ${catalina.base}/logs/catalina
log4j.appender.CATALINA.Append = true
log4j.appender.CATALINA.Encoding = UTF-8
# Roll-over the log once per day
log4j.appender.CATALINA.DatePattern = '.'yyyy-MM-dd'.log'
log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout
log4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%n

log4j.appender.LOCALHOST = org.apache.log4j.DailyRollingFileAppender
log4j.appender.LOCALHOST.File = ${catalina.base}/logs/localhost
log4j.appender.LOCALHOST.Append = true
log4j.appender.LOCALHOST.Encoding = UTF-8
log4j.appender.LOCALHOST.DatePattern = '.'yyyy-MM-dd'.log'
log4j.appender.LOCALHOST.layout = org.apache.log4j.PatternLayout
log4j.appender.LOCALHOST.layout.ConversionPattern = %d [%t] %-5p %c- %m%n

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'.log'
log4j.appender.MANAGER.layout = org.apache.log4j.PatternLayout
log4j.appender.MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n

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

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


# Configure which loggers log to which appenders
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost] = INFO, LOCALHOST
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager] =\
  INFO, MANAGER
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager] =\
  INFO, HOST-MANAGER

我改变了这行

log4j.appender.CONSOLE = org.apache.log4j.ConsoleAppender log4j.appender.CONSOLE.Encoding = UTF-8 log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout log4j.appender.CONSOLE.layout.ConversionPattern = %d [%t] %-5p %c- %m%n

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

正如 augustin ghauratto 在this link 中所建议的那样。但这对我不起作用。

我怎样才能让 catalina.out 文件每天拆分和制作新文件。

【问题讨论】:

    标签: tomcat logging log4j log4j2 tomcat8


    【解决方案1】:

    您误解了catalina.out 的创建方式。它不是由像 log4j 这样的日志框架处理的。它是由shell通过标准输出流的重定向创建的。

    如果要旋转它,请查看Tomcat FAQ

    还有this previous answer

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-18
      • 2012-03-19
      • 2017-08-06
      • 2021-07-13
      • 1970-01-01
      • 2018-03-24
      • 1970-01-01
      • 2014-09-19
      相关资源
      最近更新 更多