Spring Boot 3中root日志为warn时如何查看Hibernate调试SQL?
解决方法
要在保持logging.level.root=warn的前提下,仅输出Hibernate相关的SQL日志,需要调整日志的附加性设置,避免Hibernate的debug/trace日志被root的warn级别过滤。
修改后的application.properties配置如下:
spring.datasource.url=jdbc:mysql://localhost:3306/student_tracker spring.datasource.username=springstudent spring.datasource.password=springstudent spring.jpa.hibernate.ddl-auto=create # 关闭Spring Boot启动横幅 spring.main.banner-mode=off # 全局根日志级别设为warn logging.level.root=warn # 配置Hibernate SQL日志 logging.level.org.hibernate.sql=debug # 输出SQL语句 logging.level.org.hibernate.orm.jdbc.bind=trace # 输出SQL参数绑定 logging.additivity.org.hibernate.sql=false # 关闭日志向上传递,避免被root过滤 logging.additivity.org.hibernate.orm.jdbc.bind=false logging.logger.org.hibernate.sql=debug, console # 指定输出到控制台 logging.logger.org.hibernate.orm.jdbc.bind=trace, console
关键配置说明
logging.additivity.*=false:关闭对应logger的日志附加性,阻止日志向上传递到root logger,这样root的warn级别就不会过滤掉Hibernate的debug/trace日志。logging.logger.*=级别, appender:明确指定Hibernate日志的输出级别和目标(如控制台),确保日志能被正确输出。
内容的提问来源于stack exchange,提问作者Ariel
相关产品推荐
相关产品推荐

