问题
mybatis-plus 数据库日志怎么才能仅打印SQL,不打印Result结果数据呢?
由于服务器上日志打印的内容过多,发现有一些内容是不需要打印的,于是思考能否做优化呢?
对于如下的日志来说,像SELECT查询的数据很多,而这部分数据的结果信息中的Row的信息我们大部分情况下是不需要查看的,那么可不可以不显示这部分信息呢?
<== Columns: id, hi_house_code, hi_room, hi_rest_no, hi_lot, hi_floor, (如果有很多字段)
<== Row: 1878, C3-602, 3, 2.5, 602, C3,
<== Row: 1879, C3-603, 3, 2.5, 603, C3,
<== Row: 1794, C1-502, 3, 2.5, 502, C1,
如果结果集很多,这里会有很多的数据信息。。。
<== Total: 144
解决
原来的日志的配置如下:
mybatis-plus:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
需要进行如下修改:
mybatis-plus:
configuration:
#这个配置会将执行的sql打印出来,在开发或测试的时候可以用
log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl
logging:
level:
# Mapper所在包路径(如果想单独设置个别的包或者设置多个包也是可以的)
com.abc.services: debug
这样日志中就不会再出现Row的信息了。
总结
1.日志级别应该根据业务进行控制调整,一般不推荐生产也是debug
2.业务应该有对应的业务日志
3.优化查询SQL