Log4j的打印级别不低于WARN,并且不创建日志文件

时间:2018-11-29 10:45:06

标签: java log4j2

我有以下log4j2.properties文件

# Root logger option
log4j.rootLogger=DEBUG, stdout

## Direct log messages to file
log4j.appender.fileout=org.apache.log4j.FileAppender
log4j.appender.fileout.File=/logs/bbt_${current.date}.log
log4j.appender.fileout.ImmediateFlush=true
log4j.appender.fileout.Threshold=info
log4j.appender.fileout.Append=false
log4j.appender.fileout.layout=org.apache.log4j.PatternLayout
log4j.appender.fileout.layout.conversionPattern=%5p | %d | %m%n

# Direct log messages to terminal
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=%5p | %d | %m    %n

以及以下临时测试课程

import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;

public class Temp {
    private static Logger log = LogManager.getLogger();

    public static void main(String[] args) {
        log.error("error");
        log.debug("debug");
        log.info("info");
        log.fatal("fatal");
        log.trace("trace");
        log.warn("warn");
    }
}

但是,当我运行测试类时,会得到以下输出:

  

11:32:19.295 [main]错误温度-错误

     

11:32:19.298 [main]致命温度-致命

此外,没有创建/ logs /文件夹或日志文件。我以为日志级别的问题可能是由于我在第一个块(对于文件)中设置了阈值这一事实引起的,但是注释掉该块没有任何区别。有谁知道这里的原因是什么?

1 个答案:

答案 0 :(得分:1)

在我看来,您使用的是Log4J版本1的属性文件,但尝试使用Log4J版本2。

此版本2属性文件在类路径上名为log4j2.properties,对我有用:

name=PropertiesConfig

rootLogger.level=debug
rootLogger.appenderRefs=stdout, file
rootLogger.appenderRef.stdout.ref=StandardOutput
rootLogger.appenderRef.file.ref=LogFile

appenders=console, file

## Direct log messages to file
appender.file.type=File
appender.file.name=LogFile
appender.file.fileName=logs/bbt_${current.date}.log
appender.file.layout.type=PatternLayout
appender.file.layout.pattern=%5p | %d | %m%n

# Direct log messages to terminal
appender.console.type=Console
appender.console.name=StandardOutput
appender.console.layout.type=PatternLayout
appender.console.layout.pattern=%5p | %d | %m    %n