如何在logback中将自定义字段大写

问题描述 投票:0回答:1

我正在使用带有 spring boot 的 logback,我想将我从 spring 属性获得的自定义字段大写,

  <springProperty name="foo" source="app.foo"/>
  <customFields>
    {
      "foo":"${foo}"
    }
  </customFields>

logback 配置由库中的多个客户端使用,这就是为什么我想在 logback 配置中进行字段转换

spring spring-boot logback spring-logback
1个回答
0
投票

你可以使用Logbacks conversionRule定义一个转换器类,然后使用它,自定义类可以这样实现:

public class UpperCaseConverter extends Converter<String> { @Override public String convert(String value) { return value != null ? value.toUpperCase() : null; } }

定义后,您可以使用 conversionRule 以这种方式在 logback-spring.xml 中注册自定义转换器:

<configuration>
<springProperty name="foo" source="app.foo"/>

<conversionRule conversionWord="upperCase" converterClass="path to UpperCaseConverter"/>

<customFields>
    {
      "foo":"%upperCase(${foo})"
    }
</customFields>
© www.soinside.com 2019 - 2024. All rights reserved.