Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/logging/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Log4j找不到记录器的附加器_Java_Logging_Log4j - Fatal编程技术网

Java Log4j找不到记录器的附加器

Java Log4j找不到记录器的附加器,java,logging,log4j,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.fi

我将在一个应用程序中使用两个不同的日志文件。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
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");

    }
}
java代码是这样的:

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
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.

哪里错了?

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

在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");

粘贴整个log4j.xml文件。@almasshaikh我刚刚将log4j.properteise的所有内容