我创建了一个可执行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。感谢您的帮助。
答案 0 :(得分:0)
来自警告中的link:
当找不到默认配置文件log4j.properties和log4j.xml且应用程序不执行显式配置时,会发生这种情况。
您的课程路径中是否有log4j.properties
或log4j.xml
? (如果你这样做,是否配置了任何appender?)