2016-10-17 10 views
0

Есть ли какой-либо способ параметризации правила преобразования в Logback? Я попытался добавить дочерние узлы, дополнительные атрибуты, и я не вижу способа сделать это.Параметр параметризации преобразования журнала

<conversionRule conversionWord="boundedMsg" converterClass="com.package.util.logging.converters.LongMessageConverter"> 

Я хотел бы добавить параметр, который будет использоваться классом LongMessageConverter.

Мое приложение настроено на Spring Boot, и я использую Sl4J.

ответ

1

Это больше вопрос вокруг журнала, чем что-либо касающееся 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(). Он идентифицируется как первый вариант. Вы могли бы передать несколько вариантов конвертера. Таким образом, конвертер является общим для любого количества шаблонов, которые вы указываете в своей конфигурации журнала.

Метод запуска будет выглядеть следующим образом:

private int msgLength; 

@Override 
public void start() { 
    msgLength = Integer.parseInt(getFirstOption()); 
    super.start(); 
} 
+0

Я добавил представление о Spring ботинке, так как я принял бы решение, которое может включать в себя использование связанных Spring механизмов. Я попробую. Благодарю. – Piotr