java - log4j 在 Catalina.out 和日志文件之间重复日志

标签 java logging log4j catalina

我正在尝试优化 java 中的 Web 应用程序的 log4j 库。 我们在 Tomcat7 中有一个服务器,完成的所有配置都正常工作,但我注意到 LOG4J 属性创建的文件和 catalina.out 之间有重复的日志。

#LOG4J configuration
log4j.rootLogger=INFO, Appender1,Appender2

log4j.appender.Appender1=org.apache.log4j.ConsoleAppender
log4j.appender.Appender1.layout=org.apache.log4j.PatternLayout
log4j.appender.Appender1.layout.ConversionPattern=%-7p %d [%t] %c - %m%n

log4j.appender.Appender2=org.apache.log4j.DailyRollingFileAppender
log4j.appender.Appender2.File=${catalina.base}/logs/logfile.out
log4j.appender.Appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.Appender2.layout.ConversionPattern=%-7p %d [%t] %c - %m%n
log4j.appender.Appender2.DatePattern='-'yyyyMMdd'.log'

logfile.out 中列出的所有日志都包含在 catalina.out 中。

我能做什么?

最佳答案

ConsoleAppender 正在 catalina.out 中打印日志,因此从 log4j 配置文件中删除 ConsoleAppender 将解决您的问题。

通常,在 Web 应用程序中,不使用 ConsoleAppender

关于java - log4j 在 Catalina.out 和日志文件之间重复日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41442278/

相关文章:

java - 部署 JavaFX 应用程序、创建 JAR 和独立应用程序以及 native 安装程序的最佳方式是什么

java - JPanel 上的元素未出现

c# - Log4Net 的附加组件

c - 在 C 中将变量记录到文件中

java - 在运行时更改 log4j 属性文件导致创建一个空的默认日志

java - 如何在 Log4j2 中将 appender 添加到 Logger

java - 在低于 23 的 API 中绘制复杂的可绘制对象

java - 如何在单个 java 服务器上加载多个 sqlite 驱动程序版本?

c - 日志文件作为列表?

java - 将 log4j 文件滚动到特定名称