我已经把log4j放到了我的buildpath中,但是当我运行我的应用程序时,我得到了以下消息:
log4j:WARN No appenders could be found for logger (dao.hsqlmanager).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
这些警告是什么意思?这里的阑尾是什么?
首先导入:
import org.apache.log4j.PropertyConfigurator;
然后将以下代码添加到main方法:
String log4jConfPath ="path to/log4j.properties";
PropertyConfigurator.configure(log4jConfPath);
创建一个路径为的文件,并将以下代码添加到该文件中。
log4j.rootLogger=INFO, 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=%d{yy/MM/dd HH:mm:ss} %p %c{2}: %m%n
这个网站上的解决方案为我工作https://crunchify.com/java-how-to-configure-log4j-logger-property-correctly/。现在我在log4j中没有看到任何警告
我把它放在log4j中。我把它放在src/main/resources中
# This sets the global logging level and specifies the appenders
log4j.rootLogger=INFO, theConsoleAppender
# settings for the console appender
log4j.appender.theConsoleAppender=org.apache.log4j.ConsoleAppender
log4j.appender.theConsoleAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.theConsoleAppender.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
这个简短的log4j介绍指南有点旧,但仍然有效。
该指南将为您提供一些关于如何使用记录器和附加程序的信息。
你可以采用两种简单的方法。
首先是将这一行添加到你的main方法中:
BasicConfigurator.configure();
第二种方法是添加这个标准log4j。属性(从上面提到的指南)文件到你的类路径:
# Set root logger level to DEBUG and its only appender to A1.
log4j.rootLogger=DEBUG, A1
# A1 is set to be a ConsoleAppender.
log4j.appender.A1=org.apache.log4j.ConsoleAppender
# A1 uses PatternLayout.
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
这里的大多数答案都建议使用log4j。属性文件放置在正确的位置(对于maven项目,它应该位于src/main/resources)
但对我来说,问题是log4j。属性配置不正确。这是一个适合我的样品,你可以先试用一下。
# Root logger option
log4j.rootLogger=INFO, stdout
# Direct log messages to 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=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n