Etienne
Etienne

Reputation: 181

logback rollingpolicy dont work (no backup file is created)

I try to use logback for a project and want to have a classic daily rollover. I cant make it work : all logs keep in the default file.

Either I badly understood the rolling policy, or it dont work corectly. In fact I thought that I I run for instance my tomcat one minute after the last log, the "current" log file is backed up in another file...

For test purpose I tried a "minutely" rollover. Someone see something horrible in my config ? :

<appender name="dailyRollingFileAppender"
    class="ch.qos.logback.core.rolling.RollingFileAppender">
    <File>C:/myProject/programs/apache-tomcat-8.0.21-presentation/logs/presentation-log.log
    </File>
    <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
        <!-- daily rollover -->
        <FileNamePattern>C:/myProject/programs/apache-tomcat-8.0.21-presentation/logs/presentation-log.%d{yyyy-MM-dd_HH-mm}.log</FileNamePattern>
        <timeBasedFileNamingAndTriggeringPolicy
            class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
            <maxFileSize>10MB</maxFileSize>
        </timeBasedFileNamingAndTriggeringPolicy>
        <!-- keep 1 day history -->
        <maxHistory>1</maxHistory>
        <cleanHistoryOnStart>true</cleanHistoryOnStart>
    </rollingPolicy>
    <encoder>
        <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n
        </Pattern>
    </encoder>
</appender>

Thanks!

Upvotes: 0

Views: 1183

Answers (1)

Etienne
Etienne

Reputation: 181

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

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

    <appender name="dailyRollingFileAppender"
        class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>${catalina.base}/logs/presentation-log.log
        </File>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <!-- daily rollover -->
            <FileNamePattern>${catalina.base}/logs/presentation-log.%d{yyyy-MM-dd_HH-mm}.log</FileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy
                class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <maxFileSize>10MB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <maxHistory>30</maxHistory>
            <cleanHistoryOnStart>true</cleanHistoryOnStart>
        </rollingPolicy>
        <encoder>
            <Pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{35} - %msg %n
            </Pattern>
        </encoder>
    </appender>

    <logger name="com.cloudsviews.presentation" additivity="false">
        <level value="WARN" />
        <appender-ref ref="dailyRollingFileAppender" />
    </logger>

    <root>
        <level value="WARN" />
        <appender-ref ref="STDOUT" />
        <appender-ref ref="dailyRollingFileAppender" />
    </root>
</configuration>

Upvotes: 1

Related Questions