【问题标题】:How to redirect log4j logging from catalina.out to separate file?如何将 log4j 日志从 catalina.out 重定向到单独的文件?
【发布时间】:2014-09-19 08:40:34
【问题描述】:

已经在我的项目中创建了 log4j.properties 文件,如下所示,但是没有创建日志文件(test-service.log),而是在 catalina.out 中记录了日志消息如何解决这个问题..... ..

log4j.debug=TRUE log4j.rootLogger=警告,R log4j.appender.R=org.apache.log4j.RollingFileAppender log4j.appender.R.File=/opt/apache-tomcat-7.0.40/logs/test-service.log log4j.appender.R.MaxFileSize=1000KB log4j.appender.R.MaxBackupIndex=5 log4j.appender.R.layout=org.apache.log4j.PatternLayout log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss.SSSS}-%t-%x-%-5p-%-10c:%m%n

【问题讨论】:

  • 您将此文件放在项目的哪个位置?
  • 已经在(project-name)/conf/log4j.properties下创建

标签: java tomcat log4j


【解决方案1】:
  1. log4j-1.2.17.jar 添加到WEB-INF/lib。
  2. 将 log4j.properties 移至 src 目录的根目录。
  3. 在您的类中初始化一个记录器,例如:

    private static final Logger LOG = Logger.getLogger(ClassName.class);

【讨论】:

  • 最好将LOG定义为类的静态变量。
  • 仅在静态上下文中使用时才需要。
  • @Stefan - 不,如果您的对象是短暂的和/或从多个线程使用的,这也很有帮助
  • 您能解释一下为什么建议将静态对象用于短期对象和/或多线程吗?
猜你喜欢
  • 1970-01-01
  • 2019-09-11
  • 1970-01-01
  • 1970-01-01
  • 2017-05-31
  • 2021-07-13
  • 2017-08-06
  • 1970-01-01
  • 2012-03-19
相关资源
最近更新 更多