【发布时间】:2016-07-30 20:19:12
【问题描述】:
我正在尝试使用这样的 log4j2.xml 配置我的记录器
<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
<Appenders>
<RollingFile name="RollingFile" append="true" fileName="logger1"
filePattern="logger1_%d{yyyy-MM-dd}.log">
<PatternLayout pattern="[%tid] [%X{id}] %d{HH:mm:ss,SSS} %5p - %m%n"/>
<Policies>
<TimeBasedTriggeringPolicy />
</Policies>
</RollingFile>
<RollingFile name="RollingFile2" append="true" fileName="logger2"
filePattern="logger2_%d{yyyy-MM-dd}.log">
<PatternLayout pattern="[%tid] [%X{id}] %d{HH:mm:ss,SSS} %5p - %m%n"/>
<Policies>
<TimeBasedTriggeringPolicy />
</Policies>
</RollingFile>
<Console name="IDE-Console" target="SYSTEM_OUT">
<PatternLayout pattern="[%tid] [%X{id}] %d{HH:mm:ss,SSS} %5p - %m%n"/>
</Console>
</Appenders>
<Loggers>
<Logger name="logger1" level="info">
<AppenderRef ref="RollingFile"/>
</Logger>
<Logger name="logger2" level="info" additivity="false">
<AppenderRef ref="RollingFile2"/>
</Logger>
<Root level="info" >
<AppenderRef ref="IDE-Console"/>
</Root>
</Loggers>
</Configuration>
问题在于创建了两个文件,而我认为它应该是一个。
其实在我调用之后
LoggerContext.getContext(this.getClass().getClassLoader(), false, file.toURI());
log4j2 创建两个文件:logger{1,2}
然后我可以按名称获取正确的记录器并开始记录到正确的文件,并在我的应用程序文件夹中创建一个我不想创建的额外文件。 它实际上限制了我将此文件分发到只需要一个记录器的所有应用程序。我想使用
getLogger(String loggerName)
你可以管理你写入的文件。
任何想法如何解决它?
提前致谢。
【问题讨论】: