【问题标题】:log4j logs are getting written to catalina.out filelog4j 日志被写入 catalina.out 文件
【发布时间】:2014-02-10 04:31:58
【问题描述】:

我的 log4j 日志正在写入我的 catalina.out 文件。我不知道这些消息来自哪里,因为我的应用程序代码中没有它们。这填满了我的 catalina 文件。我该如何解决?我什至不知道在哪里寻找这些消息以阻止它们登陆 catalina.out 文件。请提出建议。

这是我的 logging.properties 文件 -

 handlers = 1catalina.org.apache.juli.FileHandler, 2localhost.org.apache.juli.FileHandler, 3manager.org.apache.juli.FileHandler, 4host-manager.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
.handlers = 1catalina.org.apache.juli.FileHandler, java.util.logging.ConsoleHandler
1catalina.org.apache.juli.FileHandler.level = FINE
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.

2localhost.org.apache.juli.FileHandler.level = FINE
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.FileHandler.prefix = localhost.

3manager.org.apache.juli.FileHandler.level = FINE
3manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
3manager.org.apache.juli.FileHandler.prefix = manager.

4host-manager.org.apache.juli.FileHandler.level = FINE
4host-manager.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
4host-manager.org.apache.juli.FileHandler.prefix = host-manager.

java.util.logging.ConsoleHandler.level = FINE
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.FileHandler
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.FileHandler
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO
org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.FileHandler

【问题讨论】:

  • AFAIK 如果你路由到标准输出,它将被写入 catalina.out
  • 分享你的 log4j.properties 文件
  • @Aditya - 我如何分享它?可以附上吗?
  • 请提供您的 log4j 配置。日志可能来自任何关联的 jar 文件。如果它们是调试日志并且没有用,则将这些日志的级别提高到错误/致命
  • 如何提供配置?我不知道如何附加它。

标签: java tomcat


【解决方案1】:

您应该在项目中创建一个log4j.properties 文件并将您的根 log4j 记录器重定向到非控制台附加程序。例如,RollingFileAppender 就是最好的选择。

例如:

log4j.rootLogger=INFO, main

log4j.appender.main=org.apache.log4j.RollingFileAppender
log4j.appender.main.File=main.log

【讨论】:

  • 应该在 conf 中的 logging.properties 中,还是在 WEB-INF/classes 中的 log4j.xml 中?
  • 不,logging.propertiesjava.util.logging.*的配置,与log4j无关。是的,在您的情况下,log4j.properties 的默认位置应该是WEB-INF/classes
  • 好的。那么我应该修改 logging.properties 还是 log4j.properties?
  • 对于 log4j - log4j.properties。对于 java.util.logging - logging.properties
猜你喜欢
  • 2016-05-20
  • 1970-01-01
  • 1970-01-01
  • 2012-03-19
  • 1970-01-01
  • 1970-01-01
  • 2017-01-16
  • 2015-11-06
  • 1970-01-01
相关资源
最近更新 更多