我正在使用一个使用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 :(得分: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
在运行时类路径中可见。