在Logback中是否有任何参数化转换规则的方法? 我尝试过添加子节点,其他属性,但我还没有找到方法。
<conversionRule conversionWord="boundedMsg" converterClass="com.package.util.logging.converters.LongMessageConverter">
我想添加LongMessageConverter类将使用的参数。
我的应用程序是在Spring Boot上设置的,我使用的是Sl4J。
答案 0 :(得分:3)
这是一个围绕Logback的问题,而不是与Spring Boot有关的任何问题。您需要做的是与MDCConverter
类似的事情。在您的模式中,您可以指定类似的内容:
<conversionRule conversionWord="boundedMsg" converterClass="com.package.util.logging.converters.LongMessageConverter">
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%boundedMsg{25} [%thread] - %msg%n</pattern>
</encoder>
</appender>
25
是start()
方法调用期间转换器可用的选项。它被确定为第一种选择。您最终可能会将许多选项传递给转换器。这样,转换器对于您在Logback配置中指定的任意数量的模式都是通用的。
start方法如下:
private int msgLength;
@Override
public void start() {
msgLength = Integer.parseInt(getFirstOption());
super.start();
}