【发布时间】:2014-10-17 12:05:41
【问题描述】:
我有一个 logback.xml 文件,其中包含 3 个附加程序:1 个 ConsoleAppender 和 2 个 FileAppender
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<appender name="stdout" class="ch.qos.logback.core.ConsoleAppender">
<Target>System.out</Target>
<encoder>
<pattern>[%d{yyyy-MM-dd HH:mm:ss}] %msg%m%n%ex</pattern>
</encoder>
</appender>
<appender name="bAppender" class="ch.qos.logback.core.FileAppender">
<file>logs/b.txt</file>
<append>true</append>
<encoder>
<pattern>[%d{yyyy-MM-dd HH:mm:ss}] -[%t] %-4r %-5p %c : %n%m%n</pattern>
</encoder>
</appender>
<appender name="aAppender" class="ch.qos.logback.core.FileAppender">
<file>logs/a.txt</file>
<append>false</append>
<encoder>
<pattern>[%d{dd/MM/yyyy : HH:mm:ss} %level - %logger] %m%n</pattern>
</encoder>
</appender>
<logger name="aLogger" additivity="false">
<level value="DEBUG" />
<appender-ref ref="aAppender" />
</logger>
<root level="info">
<appender-ref ref="stdout"/>
</root>
</configuration>
问题是当我启动与 aLogger(Logger LOGGER = LoggerFactory.getLogger("aLogger"); 关联的程序时。它还添加了 bAppend(因此创建了一个空的 b.txt 文件 ....)
这就像 logback 调用并在调用 logger 时执行所有 appender,而不管附加的 appender。 如何避免这种行为?
非常感谢
【问题讨论】:
标签: java logback fileappender