2

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

log4j.properties 文件

log4j.rootLogger=信息,控制台

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

log4j.package_name=调试

但是,如果我只使用一个项目作为我的应用程序的一部分,这是可行的。如果有多个项目并且我想使用日志记录工具,logger.isDebugEnabled() 总是返回 false .. 有人可以为此提出解决方案吗?

提前致谢

4

1 回答 1

2

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

请参阅功能强大、易于使用的日志记录系统,以在 EAR 中使用多个项目配置 log4j。

# 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

于 2013-04-23T07:15:13.453 回答