我是log4j的新手,我的java应用程序中有以下log4j.properties文件 我在websphere 6.1中正在研究这个问题
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 ..任何人都可以为此建议一个解决方案?
提前致谢
答案 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.
前缀。