2011-01-14 92 views
2

在我的logback的配置文件,我已經在附加器的工作如下:當我使用RollingFileAppender時,爲什麼我的SiftingAppender停止工作?

<appender name="thread_SIFT" class="ch.qos.logback.classic.sift.SiftingAppender"> 
    <discriminator class="[...]"/> 
    <sift> 
     <appender name="FILE-${threadName}" class="ch.qos.logback.core.FileAppender"> 
      <file>[...]/${bySecond}/${threadName}.log</file> 
      <layout class="ch.qos.logback.classic.PatternLayout"> 
       <pattern>%date %level %logger{0} - %msg%n</pattern> 
      </layout> 
     </appender> 
    </sift> 
</appender> 

文件被正確創建。如果我用RollingFileAppender替換FileAppender,則不會創建任何內容。爲什麼?我怎樣才能使它發揮作用>

的threadName被鑑別設置。

+0

您是否指定了此類appender的請求參數(滾動策略等)?請參閱http://logback.qos.ch/manual/appenders.html –

+0

@Benoit,我也有一個複雜滾動策略的版本,但這也不起作用。 –

回答

0

程序包名稱中有錯誤。標籤篩選下的錯誤似乎被默默無視。爲了測試,我需要將appender複製到sift標記之外,確保沒有錯誤並將其複製回來。

-1

在補充我的意見,你可以驗證文件正在使用中的篩的appender此附加目的地(從教程的logback約RollingFileAppender進行配置獲取)正確創建。

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> 
    <file>test.log</file> 

    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> 
     <fileNamePattern>tests.%i.log.zip</fileNamePattern> 
     <minIndex>1</minIndex> 
     <maxIndex>3</maxIndex> 
    </rollingPolicy> 

    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> 
     <maxFileSize>5MB</maxFileSize> 
    </triggeringPolicy> 

    <encoder> 
     <pattern>%-4relative [%thread] %-5level %logger{35} - %msg%n</pattern> 
    </encoder> 
    </appender> 
4

OnConsoleStatusListener是你的朋友。只需在配置文件的開頭添加

<configuration> 
    <statusListener class="ch.qos.logback.core.status.OnConsoleStatusListener" /> 
    .. remainder of your config file 
</configuration> 

看到由SiftingAppender產生的誤差。

2

似乎財產${bySecond}或任何其他人被賠了進去sift > appender標籤。

ERROR in [email protected]:97 - no applicable 
action for [property], current pattern is [[configuration][appender][property]] 
[...]/bySecond_IS_UNDEFINED/main.log 
相關問題