如何在控制台或文件中记录spring数据生成的solr查询

Posted

技术标签:

【中文标题】如何在控制台或文件中记录spring数据生成的solr查询【英文标题】:How to log spring data generated solr query on console or in a file 【发布时间】:2017-10-04 06:34:02 【问题描述】:

如何在控制台或文件中记录 spring 数据生成的 solr 查询。我正在使用 spring-data-solr 版本 2.0.6.RELEASE 来自 spring boot 版本 1.4.3.RELEASE。

我正在尝试在文件或控制台中记录语句,因为我们可以在 spring-data-jpa 中为 sql 语句执行此操作。

【问题讨论】:

【参考方案1】:

SolrTemplate 在执行查询时记录创建的查询字符串。启用日志记录,例如。在logback.xml 中添加

<logger name="org.springframework.data.solr.core.SolrTemplate" level="DEBUG"/>

这应该会给你类似的东西:

2017-10-17 08:09:45,451 DEBUG o.s.d.solr.core.SolrTemplate: 504 - Executing query 'q=!join+from%3Dmanu_id_s+to%3Didtext:ipod' against solr.
2017-10-17 08:09:46,148 DEBUG o.s.d.solr.core.SolrTemplate: 504 - Executing query 'q=*:*&facet=true&facet.mincount=1&facet.limit=5&facet.field=name&facet.field=cat&facet.prefix=lan&f.name.facet.prefix=spr' against solr.

如果您在日志中缺少信息,请随时在bug tracker 中提出改进请求。

【讨论】:

成功了!!!谢谢@Christoph Strobl。现在我可以在日志文件中看到查询请求了。

以上是关于如何在控制台或文件中记录spring数据生成的solr查询的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot 在Linux环境中 使用System.loadLibrary("XXX") 加载so文件

ubuntu如何利用ndk-build生成.so文件?在终端输入显示没有那个文件或目录怎么办!!!

Linux动态库生成以及调用

如何记录生成文件 (pdf) 以在 Swagger 上下载的 API?

Linux动态库生成与使用指南

如何记录 gradle 复制方法的文件?