我正在使用Play 2.2.2。我使用命令行
覆盖了默认的logger.xmlplay debug "~run -Denvironment=%1 -Dhttps.port=9443 -Dlogger.resource=C:\Users\jmatthews\Documents\git\beam-ui\conf\playLoggerConfig-local.xml"
这是playLoggerConfig-local.xml的内容:
<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,这样当server.log达到一定的大小时,它会将其备份为server.log.1并重新开始,依此类推。
答案 0 :(得分: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
用于加载类路径中存在的文件(例如:Play项目中的conf
目录)。如果不是这种情况,则应使用logger.file
代替。
答案 1 :(得分:0)
检查RollingFileAppender here
的logback-documentation可能需要添加编码器:
<encoder>
<pattern>%d{ISO8601} %m%n</pattern>
</encoder>