如何控制Mybatis的SQL日志输出

 我来答
time陌言成殇
2015-01-11 · TA获得超过8.4万个赞
知道大有可为答主
回答量:1.4万
采纳率:91%
帮助的人:9078万
展开全部

您好,很高兴为您解答。

使用环境:Mybatis_3.2.8 + Log4j2_2.1 
首先要说明的是: 

Mybatis是用Mapper类的全路径名,作为logger的名称的。

Mybatis中,打印SQL语句的日志级别是DEBUG,而打印SQL执行结果集的日志级别是TRACE。


比如,我们的应用是: com.test.app 
而mapper类所在的路径为: com.test.app.dao 
则我们可以分别控制应用的业务日志和SQL日志的输出。 
如下的Log4j2.xml将输出所有业务日志,以及SQL语句日志 

引用

<Loggers> 
    <Logger name="com.test.app.dao" additivity="false" level="DEBUG"> 
        <AppenderRef ref="sql_log"/> 
        <AppenderRef ref="Console"/> 
    </Logger> 
    <Logger name="com.test.app" additivity="false" level="TRACE"> 
        <AppenderRef ref="biz_debug"/> 
        <AppenderRef ref="Console"/> 
    </Logger> 
</Loggers>


如下的Log4j2.xml将输出所有业务日志,以及SQL语句日志,SQL语句执行结果日志 

引用

<Loggers> 
    <Logger name="com.test.app.dao" additivity="false" level="TRACE"> 
        <AppenderRef ref="sql_log"/> 
        <AppenderRef ref="Console"/> 
    </Logger> 
    <Logger name="com.test.app" additivity="false" level="TRACE"> 
        <AppenderRef ref="biz_debug"/> 
        <AppenderRef ref="Console"/> 
    </Logger> 
</Loggers>


如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】

希望我的回答对您有所帮助,望采纳!

                                                                                                                            ~ O(∩_∩)O~

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式