2016-10-17 73 views
0

Logback中有參數化轉換規則的方法嗎? 我已經嘗試添加子節點,額外的屬性,我沒有看到辦法做到這一點。Logback轉換規則參數

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

我想添加將由LongMessageConverter類使用的參數。

我的應用程序在Spring Boot上安裝,我使用Sl4J。

回答

1

這是一個圍繞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> 

25start()方法調用期間提供給轉換器的選項。它被確定爲第一種選擇。您最終可能會將一些選項傳遞給轉換器。通過這種方式,轉換器對於您在Logback配置中指定的任意數量的模式都是通用的。

start方法看起來像:

private int msgLength; 

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

我已經添加了概念關於Spring啓動,因爲我會接受的決議,可能包括的春天有關的機制的用法。我會試一試。謝謝。 – Piotr