对于部署在 WebSphere Portal 中的应用程序,我有以下 log4j.properties 文件:
log4j.rootLogger=DEBUG, InfoAppender, DebugAppender
log4j.appender.InfoAppender=org.apache.log4j.RollingFileAppender
log4j.appender.InfoAppender.Threshold=INFO
log4j.appender.InfoAppender.File=C:/info.log
log4j.appender.InfoAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.InfoAppender.layout.ConversionPattern=%d %p [%c] - %m%n
log4j.appender.DebugAppender=org.apache.log4j.RollingFileAppender
log4j.appender.DebugAppender.Threshold=DEBUG
log4j.appender.DebugAppender.File=C:/debug.log
log4j.appender.DebugAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.DebugAppender.layout.ConversionPattern=%d %p [%c] - %m%n
当我编码时,我在类级别定义记录器:
private static Logger logger = Logger.getLogger(IWannaLogThis.class);
我用这个记录 INFO 消息:
logger.info(theObjectToLog);
当我部署我的应用程序时,该debug.log
文件会获取我记录的所有内容,logger.debug()
但会忽略我编写的所有内容logger.info()
。另一方面,info.log
文件保持为空。
最奇怪的是,在类路径debug.log
中info.log
出现了一些由一些 JARS(如 Hibernate Validator)发出的 INFO 和 DEBUG 消息,但只是忽略了我尝试登录代码的所有内容。
有任何想法吗?