繁体   English   中英

仅指定一些包进行调试 output

[英]Specify only some packages to have debug output

我想记录我的 web 应用程序的一些行为,该应用程序还实现了 hibernate、spring 等。 当我尝试从 apache 实现 log4j 记录器时,我遇到了一些麻烦。

当我打开记录器时,它也在调试我不想要的 hibernate 和 spring。 我尝试将属性文件配置为指定我的项目的 package 但它不起作用。

这是我的属性文件代码:

log4j.rootCategory=ERROR, O
log4j.category.com.my.package= DEBUG, FILE, O
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.File=log/logger.log
log4j.appender.O=org.apache.log4j.ConsoleAppender
.... and some layout

当我切换rootCategory = DEBUG时它可以工作,但正如我所说,它也在调试 hibernate 和 spring。

是的,您必须为每个 package 指定日志级别:

log4j.logger.org.hibernate=info
log4j.logger.org.springframework=info
log4j.logger.com.yourapplication=debug

请注意,您应该从类别(过时)切换到记录器。 所以log4j.rootLogger=...

您需要知道实际编写内容的记录器的名称......最简单的方法是将根类别设置为错误:

log4j.rootCategory=ERROR, 0

然后相应地为您的日志设置级别:

log4j.com.your.package=DEBUG...

rootCategory设置为DEBUG会将所有内容都变为DEBUG ,除非您另外专门配置了记录器。

顺便说一句,这不是 hibernate 问题,这与您配置记录器的方式有关。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM