Websphere上的Log4j LEVEL为NULL

时间:2015-06-17 16:56:51

标签: java logging log4j websphere

所以,我有一个主要使用Apache Commons Logging的遗留应用程序,但是使用Log4J做了一些事情。在我的情况下,当用户将某些内容删除到特定文件时,我必须使用Log4J来编写一些日志,文件名只在运行时知道,所以我所做的就是在log4j.xml中有一个记录器:

<logger name="DELETE_LOGGER" additivity="false">
    <level value="INFO" />
</logger>

在应用程序开始时加载的servlet中,我有:

RollingFileAppender appender = new RollingFileAppender(
        new PatternLayout(PATTERN),
        deleteFileName);
appender.setMaxBackupIndex(1);
appender.setMaxFileSize("1MB");
appender.setName("DELETE_APPENDER");
appender.setThreshold(Level.INFO);
appender.setAppend(true);
appender.activateOptions();
Logger logger = Logger.getLogger("DELETE_LOGGER");
logger.removeAllAppenders();
logger.addAppender(appender);

然后我有一个实用程序类:

Logger LOGGER = Logger.getLogger("DELETE_LOGGER");
LOGGER.info(message);

我在Tomcat上没有任何问题,在Websphere上创建了文件,但没有记录任何内容。我终于发现Websphere上的记录器级别 null 而不是 INFO 。有谁知道为什么? log4j.xml没问题,我不明白。

1 个答案:

答案 0 :(得分:0)

我有类似的问题。 尝试在记录器名称中省略下划线('_')。 尝试使用“DELETE_LOGGER”的“DELETELOGGER”。