Java Log4j不打印低于警告的级别,不创建日志文件
我有以下log4j2.properties文件Java Log4j不打印低于警告的级别,不创建日志文件,java,log4j2,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.Immediat
# 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[主]错误温度-错误
11:32:19.298[主]致命温度-致命温度
此外,不会创建/logs/文件夹或日志文件。我认为日志级别的问题可能是因为我在第一个块(文件)中设置了一个treshold,但是注释掉这个块没有什么区别。有人知道原因是什么吗?在我看来,您似乎使用了Log4J版本1中的属性文件,但正在尝试使用Log4J版本2 这个名为
log4j2.properties
的第2版属性文件在类路径上为我工作:
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
您可以显示创建记录器的时间吗?据我所知,在创建记录器时,将fileappender引用传递给它,并给它一个名称,以便使用LogManager.getLogger()调用;下面是我遵循的一个教程(用java编写,但应该给出可靠的建议)