未使用log4j.properties文件中提供的日志模式

时间:2019-07-17 06:36:36

标签: java logging log4j log4j2 slf4j

我正在使用 slf4j 日志记录库,并且在我的Maven项目的 resources 文件夹下的 log4j.properties 文件中提供了日志记录模式,但仍然我提供的模式不会生效,并使用默认的日志记录模式打印。

我正在使用slf4j日志库

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.26</version>
</dependency>

我正在通过

初始化记录器

private static final Logger logger = LoggerFactory.getLogger(CurrentClassName.class);

我的log4j.properties文件内容为


# Direct log messages to stdout
log4j.rootLogger=DEBUG, STDOUT, file
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[] [%t] (%F:%L) - %m%n
log4j.appender.stdout.layout.ConversionPattern="%d{yyyy-MM-dd HH:mm:ss} [%-5level] [%-30logger{20}] [${application.name}] [%X{request_id}] - %msg%n"
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=mylogs.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
#log4j.appender.file.layout.ConversionPattern=%d{dd-MM-yyyy HH:mm:ss} %-5p %c{1}:%L - %m%n
log4j.appender.file.layout.ConversionPattern="%d{yyyy-MM-dd HH:mm:ss} [%-5level] [%-30logger{20}] [${application.name}] [%X{request_id}] - %msg%n"

实际日志输出


11:07:45.091 [main] DEBUG com.abc.def.LoggingClassName - message logged from within the class

预期的日志输出


2019-07-17 12:03:59 [INFO ] [c.b.CurrentLoggingClassName      ] [aplication-name] [] - message logged from class

PS

我还尝试将 log4j.properties 文件重命名为 log4j2.properties

我还尝试了将两个属性文件一个一个地放置在 / src 文件夹下

1 个答案:

答案 0 :(得分:0)

尝试使用

appender.console.type =控制台

appender.console.name = STDOUT

appender.console.layout.type = PatternLayout

appender.console.layout.pattern = [%-5level]%d {yyyy-MM-dd HH:mm:ss.SSS} [%t]%c {1}-%msg%n