Log4j没有找到记录器的appender

时间:2014-11-15 08:58:59

标签: java logging log4j

我将在应用程序中使用两个不同的日志文件。 Log4j配置文件是这样的:

log4j.rootLogger= false

log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File= D\:\\default.log
log4j.appender.file.DatePattern='.'yyyy-MM-dd
log4j.appender.file.Append=true
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n


log4j.appender.instLog = org.apache.log4j.FileAppender
log4j.appender.instLog.File= D\:\\install.log
log4j.appender.instLog.DatePattern='.'yyyy-MM-dd
log4j.appender.instLog.Append=true
log4j.appender.instLog.layout=org.apache.log4j.PatternLayout
log4j.appender.instLog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n


log4j.appender.updateLog = org.apache.log4j.FileAppender
log4j.appender.updateLog.File= D\:\\update.log
log4j.appender.updateLog.DatePattern='.'yyyy-MM-dd
log4j.appender.updateLog.Append=true
log4j.appender.updateLog.layout=org.apache.log4j.PatternLayout
log4j.appender.updateLog.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

和java代码是这样的:

public class AppTest {
    private static Logger update = Logger.getLogger("update.log");
    private static Logger install = Logger.getLogger("install.log");
    public static void main(String[] args) {
        update.info("Update");
        install.info("Install");

    }
}

但在运行时我得到了这个:

log4j:WARN No appenders could be found for logger (update.log).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.

哪里错了?

2 个答案:

答案 0 :(得分:0)

update.log是appender的名称而不是记录器。您必须将已定义的appender附加到某些记录器。

答案 1 :(得分:0)

在log4j.properties中,您需要使用如下类别:

log4j.category.updateLogger=TRACE, debugLog
log4j.additivity.updateLogger=false

log4j.category.installLogger=DEBUG, reportsLog
log4j.additivity.installLogger=false

在你的java代码中,你应该使用类似的东西:

private static Logger update = Logger.getLogger("updateLogger");
private static Logger install = Logger.getLogger("installLogger");