使用NOT-Condition或Regex按名称过滤SLF4J-Logger

时间:2018-08-15 14:33:13

标签: logging logback slf4j

我的应用程序中有许多不同的记录器(tomcat,javax,spring等)

org.apache.catalina. …
org.apache.tomcat. …
org.springframework. …
org.apache.coyote. …
javax.managment. …
....

是否可以通过NOT条件过滤Foregin-Logger? 例子

<logger name="^my.package" level="OFF" additivity="false"/>

最好是用正则表达式过滤Loggers。 这样做可以过滤所有NOT-MyPackages(包括我的包裹声明的一些前缀)

ADMIN.my.package. ...
PERFORMANCE.my.package. ….

当然,我可以在root-logger之前grep我的Logger。但是我将使用根查询器捕获所有未过滤的日志。

<logger name="^(\\w+\\.)?my.package" level="OFF" additivity="false"/>

<logger name="ADMIN" level="DEBUG" additivity="false">
    <appender-ref ref="MyAdminLogFile" />
</logger>

<logger name="PERFORMANCE" level="DEBUG" additivity="false">
    <appender-ref ref="MyPerformanceLogFile" />
</logger>

<root level="TRACE">
    <appender-ref ref="myDefaultLogFile" />
</root>

谢谢

0 个答案:

没有答案