需求背景:对打印的日志通过正则进行统一脱敏处理,并通过LogstashTcpSocketAppender 推送到日志平台
方案一
基于logback 的conversionRule 结合 LogstashEncoder、LoggingEventPatternJsonProvider
什么是conversionRule
conversionRule是logback提供的一个配置选项,用来指定将日志事件中的特定属性或信息转换为特定格式输出。它可以自定义日志输出格式,使日志在输出时符合我们的预期
conversionRule的作用范围是全局的,也就是说,一旦配置了conversionRule,所有使用这个转换规则的地方都会按照规则进行格式化输出。它可以被应用在日志输出的各个位置,如日志文件名、日志消息、日志级别等。
<conversionRule>标签的基本语法
<conversionRule conversionWord="pattern" converterClass="ConverterClassName" />
- conversionWord:表示要定义的转换规则,为一个指代特定格式的标识符。比如%c代表Logger名称,%d代表日期等。
- converterClass:指定对应的转换格式化器(Converter)类名,负责将日志信息转换为指定格式。
我们通过conversionRule
可以修改日志内容,同时也对日志进行脱敏
<!-- 指定脱敏类的位置 -->
<conversionRule conversio