Java log4j日志文件未自动刷新

Java log4j日志文件未自动刷新,java,log4j2,Java,Log4j2,我正在使用notepad++预览运行带有log4j日志机制的java应用程序的日志文件。NP++有一个特性,当焦点切换到它时,文件会自动重新加载,我觉得这很方便。这里的问题是新行不会自动显示,即使它们已添加到文件中。我可以看到,如果我手动重新加载文件或从另一个文本编辑器打开它。看起来文件被锁定了,因为在应用程序关闭之前我无法删除它。我尝试在Linux中执行相同的应用程序,但该文件未锁定。我可以接受手动刷新文件,但我担心我是否在这里做错了什么。将锁定设置为false在这里似乎没有帮助 我正在使用l

我正在使用notepad++预览运行带有log4j日志机制的java应用程序的日志文件。NP++有一个特性,当焦点切换到它时,文件会自动重新加载,我觉得这很方便。这里的问题是新行不会自动显示,即使它们已添加到文件中。我可以看到,如果我手动重新加载文件或从另一个文本编辑器打开它。看起来文件被锁定了,因为在应用程序关闭之前我无法删除它。我尝试在Linux中执行相同的应用程序,但该文件未锁定。我可以接受手动刷新文件,但我担心我是否在这里做错了什么。将锁定设置为false在这里似乎没有帮助

我正在使用log4j v2.9.1并运行wincmd的应用程序,包括:

java -jar log.jar
这是log4jconfig.xml:

<?xml version="1.0" encoding="UTF-8"?>
<Configuration name="ConfigName">
    <Appenders>
        <File locking="false" immediateFlush="true" bufferedIO="false" name="LogFile" fileName="C:\path\to\test.log">
            <PatternLayout>
                <Pattern>%d{YYYY-MM-dd HH:mm:ss.SSS} %5level: %m%n</Pattern>
            </PatternLayout>
        </File>
        <Async name="Async">
            <AppenderRef ref="LogFile"/>
        </Async>
    </Appenders>
    <Loggers>
        <Root level="info">
            <AppenderRef ref="Async"/>
        </Root>
    </Loggers>
</Configuration>
有人看到这里有问题吗

public class Main {
    static {
        System.setProperty("log4j.configurationFile", "C:\\path\\to\\log4jconfig.xml");
    }

    private static final Logger LOGGER = LoggerFactory.getLogger(Main.class);

    public static void main(String[] args) {
        LOGGER.info("Testing...");

        System.in.read();
    }
}