每次启动服务器时都会重写Playframework文件日志

时间:2013-06-16 05:06:22

标签: playframework-2.0 playframework-2.1

1我的网站。每次我重新启动服务器时,应用程序日志都会被重写。我希望日志文件不会被覆盖。任何方式来实现这一目标。我的logger.xml在下面。

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

    <appender name="FILE" class="ch.qos.logback.core.FileAppender">
        <file>${application.home}/logs/application.log</file>
        <encoder><pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36}  - %msg%n</pattern></encoder>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- daily rollover -->
            <fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>

            <!-- keep 1 days' worth of history -->
            <maxHistory>40</maxHistory>
        </rollingPolicy>
    </appender>

    <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
        <encoder><pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36}  - %msg%n</pattern></encoder>
    </appender>

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


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

1 个答案:

答案 0 :(得分:4)

您必须使用 RollingFileAppender ,而不是 FileAppender

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
    <file>logFile.log</file>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- daily rollover -->
        <fileNamePattern>logFile.%d{yyyy-MM-dd}.log</fileNamePattern>

        <!-- keep 30 days' worth of history -->
        <maxHistory>30</maxHistory>
    </rollingPolicy>
</appender>

查看official documentation