logback 怎样覆盖(移除) root 中的的 appender-ref 配置。

发布于 2022-09-07 03:45:35 字数 1055 浏览 10 评论 0

希望一般的log都同时记录到屏幕和文件log.log上,输出级别为INFO。

<root level="INFO">
    <appender-ref ref="CONSOLE" />
    <appender-ref ref="FILE" />
</root>

但mybatis的sql查询日志希望特殊处理,只输出到一个专门的文件mybatis.log中,输出级别为DEBUG

目前写的是这样:

<appender name="mybatis" class="ch.qos.logback.core.FileAppender">
    <file>logs/mybatis.log</file>
    <encoder>
        <pattern>%date %level [%thread] %logger{10} [%file:%line] %msg%n</pattern>
    </encoder>
</appender>

<logger name="org.sang.mapper" level="DEBUG">
    <appender-ref ref="mybatis" />
</logger>

这种情况下,屏幕、log.log、mybatis.log都有有mybatis的sql查询日志输出。

如果将     
<logger name="org.sang.mapper" level="DEBUG"> 
改为
<logger name="org.sang.mapper" level="INFO">

则,屏幕、log.log、mybatis.log都没有mybatis的sql查询日志输出。

请问怎样配置可以实现我最开始的需求:
一般的log都同时记录到屏幕和文件log.log上,输出级别为INFO。
但mybatis的sql查询日志特殊处理,只输出到一个专门的文件mybatis.log中,输出级别为DEBUG

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

垂暮老矣 2022-09-14 03:45:35
<logger name="org.sang.mapper" level="DEBUG" additivity="false">
    <appender-ref ref="mybatis" />
</logger>
<root level="INFO">
    <appender-ref ref="CONFOLE" />
    <appender-ref ref="FILE" />
    ...
</root>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文