我无法通过Log4j中的属性文件设置Root Logger Option。以下是我的属性文件的外观 -
我已将此文件保存为src文件夹根目录中的log4j2.properties。
# 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
我尝试将rootLogger设置为ALL,但它不起作用。然而;如果我通过我的程序中的方法将Level设置为ALL,则它可以工作。示例 -
package com.nanwani;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
public class LoggerTest {
public static Logger log = Logger.getLogger(LoggerTest.class);
public static void main(String[] args) {
log.setLevel(Level.ALL);
}
}
另外,它似乎根本不是指我的属性文件,但是如果我删除了这个文件,那么它确实会显示ERROR消息 - 使用默认属性文件找不到log4j2文件。
答案 0 :(得分:1)
我找到了问题的答案。 Log4j2不支持配置属性文件,而不支持Log4j v1。新格式是XML,JSON和YAML,请参阅documentation
答案 1 :(得分:0)
文件log4j2.properties必须命名为log4j.properties(如果您使用的是Log4j版本1)。你必须使用log.debug(" message")记录一些东西。考虑将文件移动到src / main / resources文件夹怎么样?