2013-04-07 90 views
0

我正在使用一个库,使用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. 
+0

意味着它找不到log4j.properties文件 – TheEwook 2013-04-07 15:04:00

+0

@TheEwook想你的权利 - 当我在终端而不是在Eclipse中运行它时,它工作正常(没有额外的输出)。 – 2013-04-07 15:10:15

回答

1

您可以将日志级别更改为错误,例如限制登录你有量。

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

例:

# Root logger option 
log4j.rootLogger=ERROR 
0

在正常工作的终端上运行(而不是在Eclipse中运行)时,才意识到。猜测这意味着它无法找到您的答案中提到的文件。干杯。

0

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

你可以得到这个文件在这里的基本版本:log4j sample configuration file (properties file)

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

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

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