【发布时间】:2010-11-08 21:05:41
【问题描述】:
我正在开发最终在 Tomcat/JBoss 内部运行的应用程序中使用 log4j,但现在我正在从 Eclipse 内部运行它。我已将其配置为使用 log4j.xml 文件写入 ConsoleAppender 并将其作为系统属性传递,并且我的所有日志记录输出都有效。
问题是 log4j 会吐出一堆我真的不需要(或不想)看到的引导程序/启动垃圾。例如:
log4j: Retreiving an instance of org.apache.log4j.Logger.
log4j: Setting [CoherenceMonitor] additivity to [false].
log4j: Level value for CoherenceMonitor is [DEBUG].
log4j: Desired Level sub-class: [org.apache.log4j.Level]
log4j: CoherenceMonitor level set to DEBUG
log4j: Class name: [org.apache.log4j.ConsoleAppender]
log4j: Setting property [target] to [System.out].
log4j: Parsing layout of class: "org.apache.log4j.PatternLayout"
log4j: Setting property [conversionPattern] to [%-5p %m%n].
log4j: Adding appender named [console] to category [CoherenceMonitor].
每次运行我的程序时,我都会收到大约 20 行这样的信息,只是噪音掩盖了我真正关心的日志数据。我想要做的是抑制此输出(以“log4j:”开头的所有内容)并且仅包含我自己的日志记录语句的输出。
我已经尝试了所有可以通过 Google 和我的同事找到的方法,包括为 org.apache 类别设置优先级值,如下所示。 (不管我设置的优先级如何,我仍然得到输出。)
<category name="org.apache">
<priority value="FATAL"/>
</category>
我是 log4j 配置的新手,我的配置非常简单。我只有一个附加程序、一个记录器和这一类。任何有关让 log4j 在进行设置时保持闭嘴的帮助将不胜感激! :-)
【问题讨论】:
标签: java configuration log4j