[转帖]调试springboot数据库系统应用时常用debug日志配置, 解决问题缩小范围时常用

调试,springboot,数据库系统,应用,常用,debug,日志,配置,解决问题,缩小,范围 · 浏览次数 : 0

小编点评

**使用 Spring Boot 和 JPA 的日志级别配置** ```java # Set root log level to INFO logging.level.root=INFO; # Configure Hibernate logging.level.org.hibernate.SQL=debug logging.level.org.hibernate.id=debug logging.level.org.hibernate.cache=debug logging.level.org.hibernate.stat=debug # Configure HikariCP Pool logging.level.com.zaxxer.hikari=TRACE # Configure Transaction log logging.level.org.springframework.orm.jpa=DEBUG logging.level.org.springframework.transaction=TRACE # Configure Data and Mapper logs logging.level.org.springframework.data=tracelogging.level.org.springframework.orm=trace # Configure MyBatis mapper logging.level.com.your_package.mapper=DEBUG ``` **注意:** * `log.level.root` 指的是根日志级别,例如 `log.level.root=DEBUG` 设置所有日志级别为 `DEBUG`。 * `log.level` 指的是日志模块的级别,例如 `log.level=org.hibernate.cfg` 设置 `org.hibernate.cfg` 模块的日志级别为 `DEBUG`。 * `level` 指的是日志级别,例如 `logging.level.org.hibernate.id=debug` 设置 `org.hibernate.id` 模块的日志级别为 `DEBUG`。

正文

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 数据库相关日志

 

用 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=trace
logging.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: -1
logging.level.org.hibernate.cfg=debug
#hikari数据的配置项日志
logging.level.com.zaxxer.hikari.HikariConfig=TRACE
### 查看事务相关的日志,事务获取,释放日志
logging.level.org.springframework.orm.jpa=DEBUG
logging.level.org.springframework.transaction=TRACE
logging.level.org.hibernate.engine.transaction.internal.TransactionImpl=DEBUG
### 分析connect 以及 orm和 data的处理过程更全的日志
logging.level.org.springframework.data=trace
logging.level.org.springframework.orm=trace

又比如 mybatis 的mapper 日志,同样可以类似配置包名的方式,打印debug日志

logging.level.com.your_package.mapper=DEBUG

与[转帖]调试springboot数据库系统应用时常用debug日志配置, 解决问题缩小范围时常用相似的内容:

[转帖]调试springboot数据库系统应用时常用debug日志配置, 解决问题缩小范围时常用

https://www.yihaomen.com/article/1853.html 摘要: 用 spring boot 开发应用时,在遇到麻烦问题时,经常会打开debug日志,下面记录一个通用的思路,基于spring boot以及jpa来实现, 一般来说,将root的日志级别设置为log.leve

[转帖]调试你的BPF程序

https://cloud.tencent.com/developer/user/2577825 TL;DR 文章涉及的实验环境和代码可以到这个git repo获取: https://github.com/nevermosby/linux-bpf-learning 问题 当停止了上篇文章实验中的XD

[转帖]GDB调试core文件

在Linux环境下C程序经常会出现A segmentation fault(段错误),如果我们的程序只有几十行,那么我们可以通过printf输出调试来找到哪个地方出现了异常,但如果是在项目中,如果我们还是通过print找查找错误,那么效率会很低。那么我们来学习一下Linux环境下通过core文件来找

[转帖]gdb调试

https://zhuanlan.zhihu.com/p/395115890?utm_id=0 写这个文档的目的,是让有一定软件开发基础的同学,可以较为快速地入门gdb的使用。gdb的命令非常多,在做了简短的介绍后,我挑选了最高频使用的命令/场景,希望能够让读者一个小时拥有即战力。 为了让读者对gd

[转帖]Kdump调试机理详细总结(一)

https://blog.csdn.net/luckiers/category_11796393.html 一、简介 本文主要讲解Kdump的运行机理,后续两个章节会详细介绍kdump的使用和如何分析coredump文件信息,具体链接如下: Kdump配置及使用详细总结(二) crash工具分析vm

[转帖]gdb调试常见命令详细总结(附示例操作)

一、简介 通过gdb调试我们可以监控程序执行的每一个细节,包括变量的值、函数的调用过程、内存中数据、线程的调度等,从而发现隐藏的错误或者低效的代码,程序的调试过程主要有:单步执行,跳入函数,跳出函数,设置断点,设置观察点,查看变量。 本文将主要介绍linux下的gdb调试工具常用的命令和具体的使用实

[转帖]vs调试运行程序出现:“由于找不到MSVCP140D.dll,无法继续执行代码 ”的解决方法

碎碎念 最近在使用Visual studio调试程序的时候,突然冒出了“由于找不到MSVCP140D.dll,无法继续执行代码。重新安装程序可能会解决次问题。”的错误。如下图所示。在网上尝试了很多别人的解决方案,都没有效果。 最后在不懈努力下终于可以正常运行了。 以下我尝试过的无效方案: 很多人说是

[转帖]Java 平台调试体系

https://www.cnblogs.com/xiaojiesir/p/15652619.html Java 平台调试体系(Java Platform Debugger Architecture,JPDA),由三个相对独立的层次共同组成。这三个层次由低到高分别是 Java 虚拟机工具接口(JVMT

[转帖]gdb进阶调试技巧

https://www.jianshu.com/p/9bdaa0644dba 整理一下在linux下C/C++用gdb工具debug一些提高效率的操作。基本的gdb操作就不在这里赘述了。 打印各种变量x 命令在gdb中可以使用x命令,来打印内存中的值。具体的格式是x/nfu addr。 含义为以f格

[转帖]Bash 使用“ -x”调试bash脚本

https://www.nhooo.com/note/qa54xo.html 使用“ -x”启用已执行行的调试输出。它可以在整个会话或脚本上运行,也可以在脚本内以编程方式启用。 运行启用了调试输出的脚本: $ bash -x myscript.sh 要么 $ bash --debug myscrip