Spring Boot整合Datastore时spring.jpa.show-sql不生效,如何查看执行查询?
Spring Boot 对接 Datastore 打印执行查询语句配置方案
spring.jpa.show-sql 是JPA规范下的关系型数据库SQL打印配置,Datastore为NoSQL数据库不适用该配置,可通过以下方式开启查询日志:
1. 日志级别配置(通用方案)
修改项目的application.properties配置,调整对应包的日志输出级别为DEBUG即可看到执行的查询明细:
# 开启Datastore官方客户端底层执行请求日志 logging.level.com.google.cloud.datastore=DEBUG # 如需查看gRPC调用全量明细,可开启以下TRACE级别日志(生产环境不建议开启) logging.level.com.google.cloud.datastore.spi.v1=TRACE
版本适配说明:2020.0及以上版本的Spring Cloud GCP已将包名从
org.springframework.cloud.gcp调整为com.google.cloud.spring,需对应选择日志配置:# 旧版Spring Cloud GCP(2020.0版本之前)开启Spring Data Datastore查询日志 logging.level.org.springframework.cloud.gcp.data.datastore.core=DEBUG # 新版Spring Cloud GCP(2020.0及之后版本)开启Spring Data Datastore查询日志 logging.level.com.google.cloud.spring.datastore.core=DEBUG
如果使用yaml格式配置,示例如下:
logging: level: com.google.cloud.spring.datastore.core: DEBUG com.google.cloud.datastore: DEBUG
配置后控制台会输出查询对应的Kind名称、过滤条件、排序规则、分页参数等完整信息。
2. Spring Data Repository场景额外配置
如果项目通过Spring Data Repository接口操作Datastore,可额外添加以下配置打印Repository方法对应的查询解析日志:
logging.level.org.springframework.data.datastore.repository.query=DEBUG
注意事项
- 生产环境建议关闭TRACE级别日志,避免大量日志输出占用IO和存储资源
- 若日志未正常输出,可先校验Spring Cloud GCP版本与Spring Boot版本的兼容性,版本不匹配可能导致日志配置不生效
内容的提问来源于stack exchange,提问作者user3648235
相关产品推荐
相关产品推荐

