无法初始化slf4j

时间:2015-04-22 21:11:35

标签: logging slf4j executable-jar

我创建了一个可执行jar文件,我依靠slf4j进行日志记录。但是我收到以下警告

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

我在属性文件中设置了记录器设置以及所有其他属性。

以下是处理初始化记录器

的代码段
log4j.rootLogger=debug, stdout
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=%t %-5p %c{2} - %m%n 

我启动我的jar并将属性与所有其他库一起放在类路径上。

java -cp .;Mailer.jar;Mailer_lib/* com.dtn.health.mail.Mailer 

我知道读取类路径是因为数据库调用正确。应用程序完成主要任务而没有问题。

在lib文件夹中,我有3个处理日志记录的jar。它们是log4j-1.2.17.jar,slf4j-api-1.7.12.jar和slf4j-log4j12-1.7.12.jar。

我不知道为什么没有使用我设置的属性初始化logger。感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

来自警告中的link

  

当找不到默认配置文件log4j.properties和log4j.xml且应用程序不执行显式配置时,会发生这种情况。

您的课程路径中是否有log4j.propertieslog4j.xml? (如果你这样做,是否配置了任何appender?)