仅指定一些包以具有调试输出 [英] Specify only some packages to have debug output
问题描述
我想记录我的Web应用程序的一些行为,它也实现了hibernate,spring等。当我尝试从apache实现log4j logger时,我遇到了一些麻烦。
I want to log some behavior of my web application which also implements hibernate, spring and so on. When I tried to implement log4j logger from apache I had some troubles.
当我打开logger时,它也在调试hibernate和spring,我不想要。我尝试配置属性文件以指定我的项目的包但它不起作用。
When I turn on logger it is also debugging hibernate and spring which I don't want. I tried to configure properties file to the specify the package of my project but it does not work.
这是我的属性文件代码:
Here is my code of property file:
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。就像我说的那样。
It works when I switch rootCategory = DEBUG
but it is also debugging the hibernate and spring as I said.
推荐答案
是的,你必须指定每个包的日志级别:
Yes, you have to specfiy the log level per package:
log4j.logger.org.hibernate=info
log4j.logger.org.springframework=info
log4j.logger.com.yourapplication=debug
请注意,您应该从类别切换(过时的)记录器。所以 log4j.rootLogger = ...
Note that you should switch from categories (obsolete) to loggers. So log4j.rootLogger=...
这篇关于仅指定一些包以具有调试输出的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!