我想记录我的Web应用程序的一些行为,它也实现了hibernate,spring等。当我试图从apache实现log4j logger时,我遇到了一些麻烦。
当我打开记录器时,它也在调试hibernate和spring,这是我不想要的。我尝试配置属性文件以指定我的项目的包但它不起作用。
这是我的属性文件代码:
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
时它会起作用,但它正在调试休眠和弹簧,就像我说的那样。
答案 0 :(得分:11)
是的,您必须指定每个包的日志级别:
log4j.logger.org.hibernate=info
log4j.logger.org.springframework=info
log4j.logger.com.yourapplication=debug
请注意,您应该从类别(过时)切换到记录器。所以log4j.rootLogger=...
答案 1 :(得分:2)
您需要知道实际编写内容的记录器的名称...最简单的方法是将根类别设置为错误:
log4j.rootCategory=ERROR, 0
然后相应地设置日志级别:
log4j.com.your.package=DEBUG...
将rootCategory
设置为DEBUG
会将所有内容变为DEBUG
,除非您特别配置了记录器。
B.T.W,这不是一个休眠问题,这与您配置记录器的方式有关。