Java Log4j在写入文件时跳过内容

Java Log4j在写入文件时跳过内容,java,spring-boot,log4j2,Java,Spring Boot,Log4j2,我有一个带有以下log4j2.xml配置文件的Spring启动应用程序 <?xml version="1.0" encoding="UTF-8"?> <Configuration status="INFO"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5

我有一个带有以下log4j2.xml配置文件的Spring启动应用程序

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="INFO">
<Appenders>
    <Console name="Console" target="SYSTEM_OUT">
        <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
    </Console>
    <File name="MyFile" fileName="getworks-backend.log" immediateFlush="false" append="false">
        <PatternLayout pattern="%d{yyy-MM-dd HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/>
    </File>
</Appenders>
<Loggers>
    <Root level="all">
        <AppenderRef ref="Console" level="warn"/>
        <AppenderRef ref="MyFile" level="warn"/>
    </Root>
</Loggers>
它出现在控制台上,但不在我的日志文件中。 如果我将
AppenderRef=“MyFile”level=“warn”
level更改为
level=“info”
,它会将日志消息写入文件,但只写入我的类中日志记录者未写入的日志消息

我的build.gradle的某些部分:

configurations {
    all*.exclude module : 'spring-boot-starter-logging'
}
dependencies {
    //log4j2
    compile group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: '2.11.0'
    compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.11.0'
    compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.11.0'
    compile group: 'org.apache.logging.log4j', name: 'log4j-jcl', version: '2.11.0'
    compile group: 'org.apache.logging.log4j', name: 'log4j-web', version: '2.11.0'
    //other dependencies
}
如何使log4j2在写入文件时不忽略日志


附言。我正在使用
@Log4j2
lombok注释来生成
log
对象,但是如果我以传统方式进行操作,则不会发生任何变化。

因为您已将immediateFlush设置为false,所以输出会被缓冲。最终,输出将在收到更多消息后刷新,但我将删除该语句。默认情况下,ImmediateFlush为true。

如果设置ImmediateFlush=“true”,会发生什么情况?
configurations {
    all*.exclude module : 'spring-boot-starter-logging'
}
dependencies {
    //log4j2
    compile group: 'org.apache.logging.log4j', name: 'log4j-slf4j-impl', version: '2.11.0'
    compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.11.0'
    compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.11.0'
    compile group: 'org.apache.logging.log4j', name: 'log4j-jcl', version: '2.11.0'
    compile group: 'org.apache.logging.log4j', name: 'log4j-web', version: '2.11.0'
    //other dependencies
}