这是我的log4j内容,它位于.properties文件中
logging.rootLogger=@DEBUG_LEVEL@, stdout, rollingFile, smtp
##logging.appender.stdout.Threshold=@DEBUG_LEVEL@
logging.appender.stdout=org.apache.log4j.ConsoleAppender
logging.appender.stdout.layout=org.apache.log4j.PatternLayout
logging.appender.stdout.layout.ConversionPattern=%d %-5p %c [%M:%L] %m%n
@ DEBUG_LEVEL @这是在单独的“appenv.bash”文件中设置的,对于不同的环境,它的设置方式不同。在生产中它被设置为ERROR,我想在特定类中使用INFO作为一种方法。如此INFO,DEBUG将不会在生产环境中显示。
如何在一个包中为一个特定类设置日志级别为INFO?
答案 0 :(得分:0)
你在这里声明一个logger,即rootLogger。它是所有记录器的“父”,所以如果你想要一个细粒度的配置,你必须声明一个更具体的记录器。
以下行为com.foo.bar包下的所有类创建一个记录器:
log4j.logger.com.foo=WARN, stdout
您的类必须以这种方式实例化记录器:
Logger logger = Logger.getLogger(MyClass.class.getCanonicalName());
但你可以在这里添加任何字符串,例如:
log4j.logger.onlyoneclasswilluseit=WARN, stdout
以这种方式得到它:
Logger logger = Logger.getLogger("onlyoneclasswilluseit");