下面是我创建的 log4j2.xml 文件。我为异步日志配置了 async_file.log,为常规和同步日志配置了 regular_file.log。问题是创建了日志文件,但文件的大小为零并且没有日志。所有日志都进入 server.log 文件(JBOSS),而不是我配置的 2 个文件(async_file.log 和 regular_file.log)。
- 请让我知道为什么日志不会进入我配置的日志文件。请帮助我或给我一些方向或提示。
我通过名称 DCLASS 在同一个类文件中调用两个不同的记录器,如下所示:
private static final transient Logger LOG = Logger.getLogger(DCLASS.class);
private static final transient Logger ASYNC_LOG = Logger.getLogger("ASYNC");
我在类路径中包含以下 jar:
1. log4j-api-2.0-beta8.jar
2. log4j-core-2.0-beta8.jar 3.disruptor
-3.0.0.beta1.jar
我的 log4j2.xml 如下:
<?xml version="1.0" encoding="UTF-8"?>
<configuration status="INFO">
<appenders>
<!-- Async Loggers will auto-flush in batches, so switch off immediateFlush. -->
<FastFile name="AsyncFastFile" fileName="../standalone/log/async_file.log"
immediateFlush="false" append="true">
<PatternLayout>
<pattern>%d %p %class{1.} [%t] %location %m %ex%n</pattern>
</PatternLayout>
</FastFile>
<FastFile name="FastFile" fileName="../standalone/log/regular_file.log"
immediateFlush="true" append="true">
<PatternLayout>
<pattern>%d %p %class{1.} [%t] %location %m %ex%n</pattern>
</PatternLayout>
</FastFile>
</appenders>
<loggers>
<!-- pattern layout actually uses location, so we need to include it -->
<asyncLogger name="ASYNC" level="trace" includeLocation="true">
<appender-ref ref="AsyncFastFile"/>
</asyncLogger>
<root level="info" includeLocation="true">
<appender-ref ref="FastFile"/>
</root>
</loggers>
</configuration>