maven使用日志出现:No appenders could be found for logger
信息如下:
打开官网:http://logging.apache.org/log4j/1.2/faq.html#noconfig
翻译出来大概就是:
- 当找不到默认配置文件log4j.properties和log4j.xml,并且应用程序不执行显式配置时,就会发生这种情况。
- log4j使用thread.getContextClassLoader().getResource()定位默认配置文件,不直接检查文件系统。
- 了解放置log4j.properties或log4j.xml的适当位置需要了解正在使用的类加载器的搜索策略。
- log4j不提供默认配置,因为在某些环境中可能禁止输出到控制台或文件系统。
归纳出来就是log4j没有找到对应的配置文件。
解决办法:
maven 项目需要在resources 目录下有log4j.properties或者log4j.xml中的任意一个文件。
另附上我的log4j.properties:
log4j.rootLogger=INFO, stdout, D# Console Appender
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern= %d{hh:mm:ss,SSS} [%t] %-5p %c %x - %m%n# Custom tweaks
log4j.logger.com.codahale.metrics=WARN
log4j.logger.com.ryantenney=WARN
log4j.logger.com.zaxxer=WARN
log4j.logger.org.apache=WARN
log4j.logger.org.hibernate=WARN
log4j.logger.org.hibernate.engine.internal=WARN
log4j.logger.org.hibernate.validator=WARN
log4j.logger.org.springframework=WARN
log4j.logger.org.springframework.web=WARN
log4j.logger.org.springframework.security=WARN# log file
log4j.appender.D = org.apache.log4j.DailyRollingFileAppender
log4j.appender.D.File = D://log.log
log4j.appender.D.Append = true
log4j.appender.D.Threshold = DEBUG
log4j.appender.D.layout = org.apache.log4j.PatternLayout
log4j.appender.D.layout.ConversionPattern = %-d{yyyy-MM-dd HH:mm:ss} [ %t:%r ] - [ %p ] %m%n