0

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>
4

1 に答える 1

4

FileAppenderではなく、RollingFileAppenderを使用する必要があります。

<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>

公式ドキュメントをチェックしてください!

于 2013-06-16T09:58:21.613 に答える