logback(三)mybatis-plus结合logback将sql语句输出到日志文件

logback(一)理论概述
logback(二)springboot配置日志文件格式、logback-spring配置文件详解
logback(三)mybatis-plus结合logback将sql语句输出到日志文件

建议看看前两篇文章

1 yml配置mybatis-plus和logger

logging:
  config: classpath:logback-spring.xml
#  level:
#    com.fox.test.mapper: debug
  file:
    path: /mnt/logs/fox/test

mybatis-plus:
  mapper-locations: classpath*:mapper/*.xml
  type-aliases-package: com.fox.test.domain.entity
  configuration:
    log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl
  • type-aliases-package 你的entity,就是和数据库表一一对应的实体字段
  • log-impl 的值有以下两种
    org.apache.ibatis.logging.stdout.StdOutImpl代表在控制台打印sql
    org.apache.ibatis.logging.slf4j.Slf4jImpl代表在文件里面写入

2 在logback.xml文件里面在配置一个当前系统包的日志输出级别

<!-- debug及以上级别的信息【可以包括sql信息】输出到文件 TODO 不需要可以自行删除 -->
    <appender name="file_debug" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <encoder>
            <pattern>${logPattern}</pattern>
        </encoder>

        <file>${logPath}/sys-debug.${hostname}.log</file>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>${logPath}/sys-debug.%d{yyyy-MM-dd}.${hostname}.log</fileNamePattern>
            <maxHistory>7</maxHistory>
        </rollingPolicy>
    </appender>

    <!--将mybatis-plus的sql记录的日志文件 TODO name改成自己的项目的mapper包路径-->
    <logger name="com.fox.test.mapper" level="debug" />

logger标签等效于yml里面的logging.level,就是我上面注释掉的,只不过写的位置不一样,效果一样,最好不要同时写

控制台输出,即便使用了Slf4jImpl,也可以在控制台输出(配置包路径的日志级别即可,不知道的看上一篇文章)
在这里插入图片描述
日志文件
在这里插入图片描述

Slf4jImpl类里面其实是ibatis(mybatis的前身,pluss是mybatis的升级版)和log4j(Logback继承了log4j)、log4j2、slf4j(这个是个独立的包)的结合体。前人栽树,后人乘凉。感谢各位计算机前辈们,我们直接使用即可

在这里插入图片描述
而StdOutImpl类里面直接使用System.out.println()输出的
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值