我正在尝试使用logback将不同的日志发送到不同的文件。
我配置了2个附加程序(控制台,RollingFile),我想要全部
logback-spring.xml
<root level="error">
<appender-ref ref="RollingFile" />
<appender-ref ref="Console" />
</root>
<logger name="com.mypkg" level="trace" additivity="true">
<appender-ref ref="RollingFile" />
</logger>
<logger name="com.mypkg" level="info" additivity="true">
<appender-ref ref="Console" />
</logger>
以上配置的结果有两个问题:
你知道我在做什么错吗?是否有任何默认的spring logback文件,该文件在运行时以某种方式与此配置合并(将加性更改为false来解决复制问题,但仍然没有TRACE消息)?
谢谢。
答案 0 :(得分:2)
您可以尝试登录过滤器。有一个名为LevelFilter的过滤器。此处也提供接受和忽略日志级别类型的选项。
示例:
<configuration>
<appender name="CONSOLE" class="ch.qos.logback.core.ConsoleAppender">
<filter class="ch.qos.logback.classic.filter.LevelFilter">
<level>INFO</level>
<onMatch>ACCEPT</onMatch>
<onMismatch>DENY</onMismatch>
</filter>
<encoder>
<pattern>
%-4relative [%thread] %-5level %logger{30} - %msg%n
</pattern>
</encoder>
</appender>
<root level="DEBUG">
<appender-ref ref="CONSOLE" />
</root>
</configuration>
更多信息在下面的注销文档中。