logger.IsDebugEnabled()始终返回false

时间:2013-04-23 05:30:45

标签: log4j

我是log4j的新手,我的java应用程序中有以下log4j.properties文件 我在websphere 6.1中正在研究这个问题

log4j.properties文件

log4j.rootLogger = info,console

log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.layout = org.apache.log4j.PatternLayout

log4j.package_name = debug

然而,如果我只使用一个项目作为我的应用程序的一部分,这是有效的。如果有多个项目,我想使用日志记录工具,logger.isDebugEnabled()总是返回false ..任何人都可以为此建议一个解决方案?

提前致谢

1 个答案:

答案 0 :(得分:2)

Websphere使用类加载器作为每个EAR的默认值。如果您有几个Web模块或EJB模块以及几个用于log4j的文件,则只有一个由类加载器加载。

请参阅A Powerful, Easy-to-Use Logging System了解配置log4j以及EAR中的多个项目。

# Set root logger level to INFO and appender to STDOUT.
log4j.rootLogger=INFO, STDOUT

#------------------------------------STDOUT-----------------------------------#
# STDOUT is set to be a ConsoleAppender.
log4j.appender.STDOUT=org.apache.log4j.ConsoleAppender

# STDOUT uses PatternLayout.
log4j.appender.STDOUT.layout=org.apache.log4j.PatternLayout
log4j.appender.STDOUT.layout.ConversionPattern=%d %-5p (%c.java:%L).%M - %m%n

log4j.appender.STDOUT.Encoding=UTF-8

#-----------------------------------------------------------------------------#

# Specify the logging level for loggers from other libraries

log4j.logger.org.apache.commons.beanutils.BeanUtils=DEBUG

log4j.logger.org.apache.struts.action=DEBUG

log4j.logger.org.apache.struts.tiles=DEBUG

log4j.logger.org.apache.struts.util.ModuleUtils=DEBUG
log4j.logger.org.apache.struts.util.RequestUtils=DEBUG
log4j.logger.org.apache.struts.util.PropertyMessageResources=ERROR

log4j.logger.com.ibm._jsp=DEBUG

您可能错过了每个特定包的log4j.logger.前缀。

http://logging.apache.org/log4j/1.2/manual.html

中查看更多log4j