如何使用弹簧启动和回溯按严重性将日志记录分隔到不同的文件

我正在尝试使用日志回传将不同的日志发送到不同的文件。

我配置了2个附加器(控制台,滚动文件),我想要所有

  • INFO 消息 -> 控制台追加器

  • 跟踪消息 -> 滚动文件追加器:

对数弹簧.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>

上述配置的结果有2个问题:

  • 所有邮件都是重复的(两个附加符)

  • com.mypkg 仅显示信息(而不是跟踪) ob 两个附加项

任何想法我做错了什么?是否有任何默认的弹性日志文件,在运行时以某种方式与此配置合并(将附加性更改为false修复重复问题,但仍然没有TRACE消息)?

谢谢。


宝慕林4294392
浏览 135回答 1
1回答

慕的地10843

您可以尝试日志回溯过滤器。有一个名为“级别筛选”的筛选器。此处还提供了接受和忽略日志级别类型的选项。例:<configuration> &nbsp;&nbsp;<appender&nbsp;name="CONSOLE"&nbsp;class="ch.qos.logback.core.ConsoleAppender"> &nbsp;&nbsp;&nbsp;&nbsp;<filter&nbsp;class="ch.qos.logback.classic.filter.LevelFilter"> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<level>INFO</level> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<onMatch>ACCEPT</onMatch> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<onMismatch>DENY</onMismatch> &nbsp;&nbsp;&nbsp;&nbsp;</filter> &nbsp;&nbsp;&nbsp;&nbsp;<encoder> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<pattern> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%-4relative&nbsp;[%thread]&nbsp;%-5level&nbsp;%logger{30}&nbsp;-&nbsp;%msg%n &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</pattern> &nbsp;&nbsp;&nbsp;&nbsp;</encoder> &nbsp;&nbsp;</appender> &nbsp;&nbsp;<root&nbsp;level="DEBUG"> &nbsp;&nbsp;&nbsp;&nbsp;<appender-ref&nbsp;ref="CONSOLE"&nbsp;/> &nbsp;&nbsp;</root> </configuration>有关详细信息,请参阅下面的日志回溯文档。https://logback.qos.ch/manual/filters.html#levelFilter
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java