我在带有 Marker TurboFilter 的项目中使用 Logback 来过滤掉用给定标记标记的信息。
我目前规定我不希望输出 VERBOSE_INFO 和 STD_INFO 日志。
我遇到的问题是 Logback 似乎仍在打印空白行来代替过滤掉的信息。
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>
%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n
</pattern>
</encoder>
</appender>
<!-- %-4relative [%thread] %-5level %logger{35} - %msg%n -->
<appender name="FILE" class="ch.qos.logback.core.FileAppender">
<file>ms-log.log</file>
<append>false</append>
<encoder>
<pattern>%d %5p %c{1}:%L - %m%n</pattern>
</encoder>
</appender>
<turboFilter class="ch.qos.logback.classic.turbo.MarkerFilter">
<Marker>VERBOSE_INFO</Marker>
<OnMatch>ALLOW</OnMatch>
</turboFilter>
<turboFilter class="ch.qos.logback.classic.turbo.MarkerFilter">
<Marker>STD_INFO</Marker>
<OnMatch>DENY</OnMatch>
</turboFilter>
<root level="INFO">
<appender-ref ref="STDOUT" />
<appender-ref ref="FILE" />
</root>
示例输出:
2013-02-19 11:35:59,757 INFO u.c.d.m.i.m.LanguageParser:88 - Initialising...
2013-02-19 11:35:59,777 INFO u.c.d.m.i.m.LanguageParser:88 - Initialisation Complete.
2013-02-19 11:35:59,788 INFO u.c.d.m.i.m.LanguageParser:88 - Restoring Saved State...
2013-02-19 11:35:59,798 INFO u.c.d.m.i.m.LanguageParser:88 - Saved State Successfully Restored.
非常感谢您可以给予 x 的任何帮助。