【问题标题】:honeycomb + spring boot 2 exclude standard fields蜂窝 + 弹簧靴 2 排除标准字段
【发布时间】:2021-02-04 23:15:55
【问题描述】:

我正在使用 Honeycomb 和 Spring Boot。

    <dependency>
        <groupId>io.honeycomb.beeline</groupId>
        <artifactId>beeline-spring-boot-starter</artifactId>
        <version>1.0.2</version>
    </dependency>

我能够成功地向 Honeycombe 发送数据,但默认情况下,beeline/spring 正在发送标准字段,如“request.path”、“request.header....”、“request....”等。 .

如何排除部分或全部这些标准字段被记录/发送到 Honeycomb?

任何代码/配置示例都会很有用。

【问题讨论】:

    标签: spring spring-boot spring-boot-actuator android-3.2-honeycomb


    【解决方案1】:

    好的,所以我必须创建 EventPostProcessor 并删除我感兴趣的标准字段...我希望这是正确的做法!

    @Configuration
    public class HoneycombConfig {
    
    @Bean
    public EventPostProcessor honeycombEventPostProcessor(HoneycombDependencyConfig honeycombDependencyConfig) {
        return new ApplicationHoneycombEventPostProcessor(honeycombDependencyConfig.getExcludeFields());
    }
    
    static class ApplicationHoneycombEventPostProcessor implements EventPostProcessor {
    
        private final List<String> excludeFields;
    
        public ApplicationHoneycombEventPostProcessor(List<String> excludeFields) {
            this.excludeFields = excludeFields;
        }
    
        @Override
        public void process(EventData<?> eventData) {
            //over write field
            this.excludeFields
                    .stream()
                    .filter(field -> eventData.getFields().containsKey(field))
                    .forEach(field -> eventData.getFields().remove(field));
        }
    }
    

    }

    @Configuration
    @ConfigurationProperties(prefix = "dependencies.honeycomb")
    public class HoneycombDependencyConfig {
    
    private List<String> excludeFields;
    
    public List<String> getExcludeFields() {
        if(this.excludeFields == null) {
             this.excludeFields = new ArrayList<>();
        }
        return excludeFields;
    }
    
    public void setExcludeFields(List<String> excludeFields) {
        this.excludeFields = excludeFields;
    }
    

    }

    【讨论】:

      猜你喜欢
      • 2021-12-08
      • 2021-02-16
      • 2023-03-29
      • 2017-12-22
      • 2015-07-04
      • 2018-02-14
      • 2019-05-03
      • 2021-04-20
      • 1970-01-01
      相关资源
      最近更新 更多