我正在使用带有 spring boot 的 logback,我想将我从 spring 属性获得的自定义字段大写,
<springProperty name="foo" source="app.foo"/>
<customFields>
{
"foo":"${foo}"
}
</customFields>
logback 配置由库中的多个客户端使用,这就是为什么我想在 logback 配置中进行字段转换
你可以使用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>