我在我的项目中使用 log4j2 是这样的:
logger.log(Level.ERROR, this.logData);
我的配置文件如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="ERROR" DLog4jContextSelector="org.apache.logging.log4j.core.async.AsyncLoggerContextSelector">
<Appenders>
<!-- Async Loggers will auto-flush in batches, so switch off immediateFlush. -->
<RandomAccessFile name="RandomAccessFile" fileName="C:\\logs\\log1.log" immediateFlush="false" append="false">
<PatternLayout>
<Pattern>%d %p %c{1.} [%t] %m %ex%n</Pattern>
</PatternLayout>
</RandomAccessFile>
</Appenders>
<Loggers>
<Root level="error" includeLocation="false">
<AppenderRef ref="RandomAccessFile"/>
</Root>
</Loggers>
它创建了我的文件,我在其中记录了一些内容,但它仍然是空的。当我试图删除这个文件时,操作系统告诉我它正在使用(如果应用程序当前正在运行),但即使我停止应用程序,文件仍然是空的。
那么我应该更改哪些设置才能使其正常工作?