从第三方框架过滤掉log4j消息?
如何筛选来自外部第三方框架的日志消息?我正在使用Hibernate和Spring框架,我想抑制日志,以便只显示我的log4j日志。
如何筛选来自外部第三方框架的日志消息?我正在使用Hibernate和Spring框架,我想抑制日志,以便只显示我的log4j日志。
在我的 log4j.properties 文件中,我将根记录器日志记录级别设置为 ERROR。然后,对于我特别要记录的包(如我的应用程序代码),我将日志记录级别设置为 INFO 或 DEBUG。
log4j.rootLogger=ERROR, stdout
log4j.logger.com.initech.tps=DEBUG
log4j.logger.org.hibernate.SQL=INFO
我看到同事将根日志记录设置得很低,然后最终列出了他们不想看到的所有内容,这在我看来是落后的。我宁愿列出我想记录的内容,也不愿列出我不想记录的所有内容。
BTW完全关闭第三方组件的日志记录对我来说似乎是一个坏主意。例如,Spring相对嘈杂,并且对我真的不需要知道的事情使用WARN,但是如果它记录了我想看到它的东西的错误条目。
您可以通过更改 log4j.properties/log4j.xml 文件中的记录器级别来执行此操作。
如果要从包中筛选日志,则需要设置记录器,但保留记录器配置以供以后使用。您还可以将其设置为最高级别,以仅在出现错误或致命问题时进行记录。<level value="off"/>
应将以下条目添加到 log4j.xml以关闭休眠和弹簧框架包中的日志记录:
<logger name="org.springframework">
<level value="off"/>
</logger>
<logger name="org.hibernate">
<level value="off"/>
</logger>