希望一般的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