仅指定一些包以具有调试输出 [英] Specify only some packages to have debug output

查看:74
本文介绍了仅指定一些包以具有调试输出的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想记录我的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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆