我正在尝试在我的Java应用程序中使用log4j(没有web-app)。因此,我直接在/ src文件夹中添加了配置文件。
log4j.properties
log4j.rootLogger=DEBUG
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
我的主要类是在一个带有子命名空间的包中,在那里我试着按如下方式记录:
final static Logger logger = Logger.getLogger(MainClass.class);
public static void main(String[] args) {
//BasicConfigurator.configure();
logger.warn("some warning");
}
但我仍然收到错误消息而且我不知道该怎么做。您会看到上面的注释行 BasicConfigurator 。据我所知,应该在不调用该行的情况下读取log4j.properties,对吗?
log4j:WARN找不到记录器的appender (at.company.project.poi.MainClass)。 log4j:WARN请初始化 log4j系统正常。 log4j:警告请参阅 http://logging.apache.org/log4j/1.2/faq.html#noconfig了解更多信息。
答案 0 :(得分:0)
根据文档,文件应位于类路径上并命名为' log4j 2 .properties'
您还可以通过设置-Dlog4j.configurationFile="<your config filepath>"
来源:https://logging.apache.org/log4j/2.x/manual/configuration.html