沉默log4j

时间:2013-04-07 15:00:10

标签: java log4j

我正在使用一个使用log4j输出到控制台的库。但是,使用库的方法会被多次调用,这意味着控制台始终是满的。我需要一种方法来停止log4j输出到控制台。

我见过类似的问题,但无法解决该怎么做。

我认为(如果我已经理解)log4j中有一个方法或变量,我必须参考但是知道究竟是什么。 另外,我要导入什么来访问log4j?

非常感谢您的帮助!

刚刚意识到:输出看起来可以通过修复某些东西来阻止它?请查看以下内容。

输出:

log4j:WARN No appenders could be found for logger (eu.medsea.mimeutil.TextMimeDetector).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

3 个答案:

答案 0 :(得分:1)

您可以将级别日志更改为ERROR,以限制您拥有的日志量。

通常日志级别位于log4j.properties文件中。

例如:

# Root logger option
log4j.rootLogger=ERROR

答案 1 :(得分:0)

刚刚意识到在终端中运行时工作正常(而不是在Eclipse中运行)。猜测这意味着它无法找到答案中提到的文件。欢呼声。

答案 2 :(得分:0)

消息WARN Please initialize the log4j system properly表示(如上所述)log4j未正确初始化,因为您的应用程序无法在运行时找到lo4j.properties文件。

您可以在此处获取此文件的基本版本:log4j sample configuration file (properties file)

把它放在你的类路径中。完成此操作后,您将能够根据需要配置日志记录级别。例如,要关闭所有消息(并保留实际的错误消息),可以在lo4j.properties文件中将根记录器级别设置为错误,如 TheEwook 所述。

如果您仍有问题,则应检查构建过程,但具体检查取决于您用于编译的工具。例如,如果您使用Eclipse,则lo4j.properties通常应位于resources目录中,该目录应设置为源文件夹。如果您使用Maven,通常此类文件应位于src/main/resources目录中。如果您使用Ant,可能需要使用Ant的任务复制此类文件。

换句话说,无论您的构建过程如何,请确保lo4j.properties在运行时类路径中可见。