2014-08-27 24 views
0

我正在使用Play 2.2.2。在logger.xml中爲Play Framework設置MaxBackupIndex和MaxFileSize

<configuration> 

    <conversionRule conversionWord="coloredLevel" converterClass="play.api.Logger$ColoredLevel" /> 

    <appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
     <file>c:\tempBeam\server.log</file> 
     <encoder> 
      <pattern>%date - [%level] - from %logger in %thread %n%message%n%xException%n</pattern> 
     </encoder> 
    </appender> 

    <logger name="play" level="INFO" /> 
    <logger name="application" level="INFO" /> 

    <root level="ERROR"> 
     <appender-ref ref="FILE" /> 
    </root> 

</configuration> 

我需要做的就是指定一個MAXFILESIZE和MaxBackupIndex:我已經通過使用命令行

play debug "~run -Denvironment=%1 -Dhttps.port=9443 -Dlogger.resource=C:\Users\jmatthews\Documents\git\beam-ui\conf\playLoggerConfig-local.xml" 

這是playLoggerConfig-local.xml中的內容覆蓋默認logger.xml這樣當server.log達到一定的大小時,它會將其備份爲server.log.1並重新開始,等等。

回答

0

嘗試是這樣的:

<appender name="FILE" class="ch.qos.logback.core.FileAppender"> 
    <file>c:\tempBeam\server.log</file> 
    <rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> 
     <fileNamePattern>server.log.%i</fileNamePattern> 
     <!-- Keeps server.log.X with X from 1 to 5 --> 
     <minIndex>1</minIndex> 
     <maxIndex>5</maxIndex> 
    </rollingPolicy> 
    <triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy"> 
     <!-- Max file size: 30MB --> 
     <maxFileSize>30MB</maxFileSize> 
    </triggeringPolicy> 
    <encoder> 
     <!-- (...) --> 
    </encoder> 
</appender> 

還要注意的是,通常logger.resource用來加載文件存在在類路徑(例如:在你的遊戲項目conf目錄)。如果不是這種情況,應該使用logger.file代替。

+0

我做了這些變化,並開始播放該項目,並得到了以下錯誤:'09: 45:06,842 | -ERROR in [email protected]:79 - [rollingPolicy],當前ElementPath的適用操作爲[[configuration] [appender] [rollingPolicy]]和四個其他人關於fileNamePattern,minIndex,maxIndex和triggeringPolicy – korshyadoo 2014-08-28 12:50:11

+0

我做了這個更新'」,它啓動沒有錯誤,但我沒有看到預期的行爲。當日志文件達到MaxFileSize時,它將繼續寫入超出該大小的同一個日誌文件。 – korshyadoo 2014-08-28 14:20:24

0

檢查RollingFileAppender進行here

中的logback的文檔可能是你需要添加一個編碼器:

<encoder> 
    <pattern>%d{ISO8601} %m%n</pattern> 
</encoder> 
相關問題