gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 10:32:28 28 4
gpt4 key购买 nike

我有以下 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] ERROR Temp - error

11:32:19.298 [main] FATAL Temp - fatal

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

最佳答案

在我看来,您已经使用了 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

关于java - Log4j 不打印低于 WARN 的级别并且不创建日志文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53537194/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com