【发布时间】:2014-09-26 22:41:12
【问题描述】:
有以下配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="warn">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout pattern="[%d{HH:mm:ss.SSS} %-5level] %logger{36} - %msg%n"/>
</Console>
<File name="File" fileName="error.log">
<PatternLayout pattern="[%d{ISO8601} %-5level] %logger{36} - %msg%n"/>
</File>
</Appenders>
<Loggers>
<Logger name="errors" level="error">
<AppenderRef ref="File"/>
</Logger>
<Root level="all">
<AppenderRef ref="Console"/>
</Root>
</Loggers>
</Configuration>
仅将(全部)日志输出写入控制台。然而,我打算将error 以上的任何内容写入名为error.log 的文件,格式略有不同。但是,运行我的应用程序会导致所有内容都写入控制台,留下一个空文件(已创建,只是未填充)。
不知何故,根记录器似乎捕获了所有内容,因为我也尝试过这个:
<Logger name="errors" level="error">
<AppenderRef ref="Console"/>
</Logger>
不记录两次。我真的没有想法,我什至从文档 (sample #2 from here) 中复制了一个示例,这也留下了一个空文件。
【问题讨论】: