基本的log4j示例不起作用

时间:2017-05-16 13:28:48

标签: log4j

以下是我的log4j.properties文件的内容:

log4j.logger.main = INFO, main
log4j.logger.secondary = INFO, secondary

log4j.appender.main=org.apache.log4j.RollingFileAppender
log4j.appender.main.File=C:\\Workspace\\test\\main.log
log4j.appender.main.MaxFileSize=1MB
log4j.appender.main.MaxBackupIndex=1
log4j.appender.main.layout=org.apache.log4j.PatternLayout
log4j.appender.main.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1} - %m%n

log4j.appender.secondary=org.apache.log4j.RollingFileAppender
log4j.appender.secondary.File=C:\\Workspace\\test\\secondary.log
log4j.appender.secondary.MaxFileSize=1MB
log4j.appender.secondary.MaxBackupIndex=1
log4j.appender.secondary.layout=org.apache.log4j.PatternLayout
log4j.appender.secondary.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1} - %m%n

这是我的主要方法的样子:

public static void main(final String[] args)
    {
        final Logger mainLogger = Logger.getLogger("main");
        final Logger secondaryLogger = Logger.getLogger("secondary");
        mainLogger.info("In main logger");
        secondaryLogger.info("In secondary logger");
    }

在执行此程序时,我能够在Eclipse控制台中看到日志消息,但我没有按预期创建两个日志文件。

有人可以告诉我我错过了什么吗?

2 个答案:

答案 0 :(得分:0)

您是否尝试定义:

log4j.rootLogger=INFO, main, secondary

而不是:

log4j.logger.main = INFO, main
log4j.logger.secondary = INFO, secondary

答案 1 :(得分:0)

正如Ishnark所指出的,Eclipse不小心导入了错误的Logger类。它已导入java.util.Logger而不是org.apache.log4j.Logger。在导入适当的Logger类(来自org.apache.log4j)时,程序按预期工作。