如何在log4j中控制日志控制台输出

时间:2012-01-11 16:06:47

标签: java eclipse log4j

我是JavaEE SSH环境的新手,目前我使用log4j作为我的应用程序的日志系统。但问题是,如果我在DEBUG设置日志输出级别,MyEclipse中的控制台输出太多,将输出级别切换为WARN将减少消息量,但也丢失了一些我感兴趣的信息。所以我的问题是如何让log4j只输出我正在编辑的Java文件生成的所有日志消息,不要输出其他人生成的任何消息。

4 个答案:

答案 0 :(得分:3)

假设您正在使用log4j.properties文件配置log4j,您可以将特定的类或包设置为不同的级别,如下所示:

log4j.logger.com.foo.MyClass=DEBUG

有关更多介绍log4j的信息,请参阅http://logging.apache.org/log4j/1.2/manual.html

答案 1 :(得分:2)

http://logging.apache.org/log4j/1.2/manual.html

您可以通过Logger.getLogger("org.springframework")配置您创建的每个Logger的日志级别。您必须在配置文件中搜索log4j。

XML示例(来自http://en.wikipedia.org/wiki/Log4j):

...
<logger name="org.springframework">
    <level value="info"/>
</logger>

<!-- 
     everything of spring was set to "info" but for class 
     PropertyEditorRegistrySupport we want "debug" logging 
-->
<logger name="org.springframework.beans.PropertyEditorRegistrySupport">
    <level value="debug"/>
</logger>

希望有所帮助。

答案 2 :(得分:0)

如果你在unix / linux环境中运行,你可以在日志文件的尾部和grep中找到你正在寻找的内容。这比修改log4j配置和更强大的

更灵活

答案 3 :(得分:0)

我遇到了同样的问题,我的log4j调试日志在我的JUnit单元测试中(在Eclipse中)被Spring调试所淹没。我通过在log4j属性文件中添加以下内容来解决这个问题。

log4j.logger.org.springframework=FATAL