2012-12-19 22 views
10

Logback kılavuzundaki standart örneğe çok benzeyen aşağıdaki yapılandırma dosyasına sahibim. Tek fark, [% F:% L] ilavesidir. her şey çalışıyorken,% F ve% L çalışmıyor. Async appender'ı kaldırırsam ve dosya ekini kullanarak doğrudan oturum açarsam, her şey harika çalışır. Birisi neler olduğunu açıklayabilir mi? Ve bu iki parametre olarak dosya adı ve satır numarası nasıl yazdırılır?Logback AyncAppender yazdırılmıyor Dosya ve Satır numarası

<configuration> 
    <appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
    <file>myapp.log</file> 
    <encoder><pattern>%logger{35} - [%F:%L] - %msg%n</pattern></encoder> 
    </appender> 
    <appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender"> 
     <appender-ref ref="FILE" /> 
    </appender> 
    <root level="DEBUG"><appender-ref ref="ASYNC" /></root> 
</configuration> 

cevap

21

Sen true AsyncAppender en includeCallerData özelliğini ayarlamak gerekir.

<configuration> 
    <appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
     <file>myapp.log</file> 
     <encoder><pattern>%logger{35} - [%F:%L] - %msg%n</pattern></encoder> 
    </appender> 

    <appender name="ASYNC" class="ch.qos.logback.classic.AsyncAppender"> 
     <appender-ref ref="FILE" /> 
     <!-- add the following line --> 
     <includeCallerData>true</includeCallerData> 
    </appender> 

    <root level="DEBUG"><appender-ref ref="ASYNC" /></root> 
</configuration> 
+2

Ha, bilirsin ki senin sorununun değil :) – Klaus

+0

. 1.2.16 kullanıyorum –

0

benim gibi harika tarzı istiyorum birisi için harika bir formatta aynı cevabı sonrası: İşte değiştirilmiş yapılandırma dosyasıdır.

appender('FILE', ch.qos.logback.core.FileAppender) { 
    file = 'myapp.log' 
    encoder(PatternLayoutEncoder) { 
     pattern = '%logger{35} - [%F:%L] - %msg%n' 
    } 
} 
appender('ASYNC', ch.qos.logback.classic.AsyncAppender) { 
    appenderRef('FILE') 
    //add the following line 
    includeCallerData = true 
} 

root(DEBUG, ['ASYNC']) 
İlgili konular