即使在类路径中指定了日志属性,也无法找到记录器警告的appender

时间:2016-10-26 11:27:57

标签: java logging log4j

我必须对我正在使用Log4j的应用程序执行基本日志记录。我在资源文件夹中设置了log.properties文件,但是在我尝试记录信息时收到以下警告

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

这是我的资源文件夹下的属性文件:

# Root logger option
log4j.rootLogger=DEBUG, ERROR, stdout, file

# Redirect log messages to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n

# Redirect log messages to a log file, support file rolling.
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=./resources/application.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=10
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

这就是我的项目结构:

  

SRC
   - >主

-> java
       ....

-> resources


       --> log.properties

每个文件夹也存在于项目的java构建路径中。

这就是我要求测试的方式:

public class Demo {

final static Logger logger = Logger.getLogger(Demo.class);

public static void main(String[] args) {
    logger.debug("demo");
}
}

1 个答案:

答案 0 :(得分:0)

您可以尝试将文件重命名为log4j.properties以及

log4j.rootLogger=DEBUG,ERROR stdout, file 

行应该有调试或错误,而不是两者