https://www.yihaomen.com/article/1853.html
用 spring boot 开发应用时,在遇到麻烦问题时,经常会打开debug日志,下面记录一个通用的思路,基于spring boot以及jpa来实现, 一般来说,将root的日志级别设置为log.level.root=DEBUG, 会打印出太多日志出来,估计都看不清楚, 但我们可以把log.level.root=INFO, 然后在逐步缩小范围,就能打印出相关的debug日志,比如再下面的例子中将详细打印 hibernate jpa日志,hikari 数据库相关日志.
######################### debugg log #################### 日志级别的灵活运用## hibernate相关# 显示sql的执行日志,如果开了这个,show_sql就可以不用了logging.level.org.hibernate.SQL=debug# hibernate id的生成日志logging.level.org.hibernate.id=debug# hibernate所有的操作都是PreparedStatement,把sql的执行参数显示出来logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE# sql执行完提取的返回值logging.level.org.hibernate.type.descriptor.sql=trace# 请求参数logging.level.org.hibernate.type=debug# 缓存相关logging.level.org.hibernate.cache=debug# 统计hibernate的执行状态logging.level.org.hibernate.stat=debug# 查看所有的缓存操作logging.level.org.hibernate.event.internal=tracelogging.level.org.springframework.cache=trace# hibernate 的监控指标日志logging.level.org.hibernate.engine.internal.StatisticalLoggingSessionEventListener=DEBUG### 连接池的相关日志## hikari连接池的状态日志,以及连接池是否完好 #连接池的日志效果:HikariCPPool - Pool stats (total=20, active=0, idle=20, waiting=0)logging.level.com.zaxxer.hikari=TRACE#开启 debug可以看到 AvailableSettings里面的默认配置的值都有哪些,会输出类似下面的日志格式# org.hibernate.cfg.Settings : Statistics: enabled# org.hibernate.cfg.Settings : Default batch fetch size: -1logging.level.org.hibernate.cfg=debug#hikari数据的配置项日志logging.level.com.zaxxer.hikari.HikariConfig=TRACE### 查看事务相关的日志,事务获取,释放日志logging.level.org.springframework.orm.jpa=DEBUGlogging.level.org.springframework.transaction=TRACElogging.level.org.hibernate.engine.transaction.internal.TransactionImpl=DEBUG### 分析connect 以及 orm和 data的处理过程更全的日志logging.level.org.springframework.data=tracelogging.level.org.springframework.orm=trace |
又比如 mybatis 的mapper 日志,同样可以类似配置包名的方式,打印debug日志
logging.level.com.your_package.mapper=DEBUG |