Spring Boot环境下启用Couchbase SDK调试日志的方法咨询
如何在Spring Boot中启用Couchbase SDK查询语句的日志输出(含参数化查询)
针对你的场景(Spring Boot 2.6.x + spring-data-couchbase 4.4.0 + Couchbase Java SDK 3.3.0),之前配置com.couchbase.client=DEBUG没生效是因为SDK 3.x的查询日志分散在更细分的包下,需要针对性配置:
1. 打印带参数的完整查询语句(调试参数化查询必备)
要直接看到参数替换后的最终SQL,需要开启QueryEndpoint的TRACE级别——这是SDK实际发送查询请求的核心模块:
- 在
application.properties中配置:logging.level.com.couchbase.client.core.endpoint.QueryEndpoint=TRACE - 若用log4j.xml,添加对应的logger:
<logger name="com.couchbase.client.core.endpoint.QueryEndpoint" level="TRACE" additivity="false"> <appender-ref ref="你的日志输出Appender"/> </logger>
2. 仅打印查询模板和参数列表(日志量较小)
如果不需要完整替换后的SQL,只看查询语句模板和对应的参数集合,开启java.query包的DEBUG级别即可:
- 配置文件方式:
logging.level.com.couchbase.client.java.query=DEBUG - log4j.xml方式:
<logger name="com.couchbase.client.java.query" level="DEBUG" additivity="false"> <appender-ref ref="你的日志输出Appender"/> </logger>
额外说明
- TRACE级别日志量较大,仅建议在调试阶段启用,生产环境务必关闭;
- 若使用Spring Data Couchbase的
CouchbaseTemplate或Repository接口,还可以开启org.springframework.data.couchbase.core的DEBUG级别,查看Spring Data层面对查询的处理日志。
内容的提问来源于stack exchange,提问作者Deekshith Anand
相关产品推荐
相关产品推荐

