elasticsearch -ElasticsearchRestTemplate不打印日志

elasticsearch - ElasticsearchRestTemplate 不打印日志

基于spring boot 2.6.6

问题

ElasticsearchRestTemplate 不打印日志 !!

原始配置

# application.yml
spring:
  application:
    name: boot-elasticsearch
    elasticsearch:
      rest:
        uris: http://192.168.1.xx:9200
logging:
  level:
    org.springframework.data.elasticsearch.core: debug
    org.springframework.data.elasticsearch.client.WIRE: TRACE

org.springframework.data.elasticsearch.client.WIRE: TRACE 本来加了这个应该会打印日志,结果什么都没有。。。

正确配置

不使用 配置文件

# 注释 配置
spring:
  application:
    name: boot-elasticsearch
#    elasticsearch:
#      rest:
#        uris: http://192.168.1.17:9200
logging:
  level:
    org.springframework.data.elasticsearch.core: debug
    org.springframework.data.elasticsearch.client.WIRE: TRACE

通过 java代码注入

@Bean(destroyMethod = "close")
public RestHighLevelClient restClient() {

    ClientConfiguration clientConfiguration = ClientConfiguration.builder()
        .connectedTo("192.168.1.xx:9200")
        .build();

    RestHighLevelClient client = RestClients.create(clientConfiguration).rest();
    return client;
}

日志打印:

o.s.data.elasticsearch.client.WIRE       : [65f5cae3] Sending request GET / with parameters: 
o.s.data.elasticsearch.client.WIRE       : [65f5cae3] Received raw response: 200 OK
o.s.data.elasticsearch.client.WIRE       : [636fccb0] Sending request GET /user/_doc/1 with parameters
o.s.data.elasticsearch.client.WIRE       : [636fccb0] Received raw response: 200 OK
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
注册 elasticsearchRestTemplate Bean 的方法可以通过使用 spring-boot-starter-data-elasticsearch 提供的 ElasticsearchRestTemplateAutoConfiguration 类来完成。以下是一个示例: ```java import org.springframework.boot.autoconfigure.elasticsearch.ElasticsearchRestClientProperties; import org.springframework.boot.autoconfigure.elasticsearch.RestClientBuilderCustomizer; import org.springframework.boot.autoconfigure.elasticsearch.RestClientProperties; import org.springframework.boot.autoconfigure.elasticsearch.RestClientPropertiesBuilderCustomizer; import org.springframework.boot.autoconfigure.elasticsearch.RestHighLevelClientBuilderFactory; import org.springframework.boot.autoconfigure.elasticsearch.RestHighLevelClientFactory; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.data.elasticsearch.core.ElasticsearchRestTemplate; @Configuration public class ElasticsearchConfig { @Bean public ElasticsearchRestTemplate elasticsearchRestTemplate( RestHighLevelClientFactory clientFactory, RestHighLevelClientBuilderFactory clientBuilderFactory) { return new ElasticsearchRestTemplate(clientFactory, clientBuilderFactory); } @Bean public RestClientBuilderCustomizer restClientBuilderCustomizer(RestClientProperties properties) { return (builder) -> { // 自定义 RestClientBuilder 的配置 // 可以根据需要进行配置,例如设置连接超时时间、认证等 builder.setRequestConfigCallback((requestConfigBuilder) -> { requestConfigBuilder.setConnectTimeout(properties.getConnectionTimeout()); // 其他自定义配置... return requestConfigBuilder; }); }; } @Bean public RestClientPropertiesBuilderCustomizer restClientPropertiesBuilderCustomizer( ElasticsearchRestClientProperties properties) { return (builder) -> { // 自定义 RestClientProperties 的配置 // 可以根据需要进行配置,例如设置连接池大小、连接保持活动时间等 builder.setMaxRetryTimeout(properties.getMaxRetryTimeout()); // 其他自定义配置... }; } } ``` 在上述示例中,我们通过定义一个 `ElasticsearchRestTemplate` 的 bean 来注册 `elasticsearchRestTemplate`。同时,我们也可以通过自定义 `RestClientBuilderCustomizer` 和 `RestClientPropertiesBuilderCustomizer` 来对 RestClient 进行一些自定义配置。 你可以根据实际需求在 `restClientBuilderCustomizer` 和 `restClientPropertiesBuilderCustomizer` 方法中添加适当的配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值