Hi,

I'm using a FileNamePattern with a FixedWindowPolicy:


Here's my appender:

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <file>/usr/local/mystro/logs/MSAServer.log</file>
        <append>true</append>

<rollingPolicy class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy"> <FileNamePattern>/usr/local/neil/logs/MSAServer.%i. %d{yyyyMMdd-HHmmss}.gz</FileNamePattern>
            <MinIndex>1</MinIndex>
            <MaxIndex>3</MaxIndex>
        </rollingPolicy>

<triggeringPolicy class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
            <MaxFileSize>1KB</MaxFileSize>
        </triggeringPolicy>

        <layout class="ch.qos.logback.classic.PatternLayout">
<Pattern>%d{ISO8601} %-5level [%thread] \(%logger{0}.%M:%L \\) - %msg%n</Pattern>
        </layout>
    </appender>

Here's the exception when the file rolls -- I had to alter the rollover method of FixedWindowPolicy in order to catch throwable to see what was going on:

java.lang.IllegalArgumentException: Cannot convert 3 of typejava.lang.Integer at ch .qos .logback .core .rolling.helper.DateTokenConverter.convert(DateTokenConverter.java:60) at ch .qos .logback .core.rolling.helper.FileNamePattern.convert(FileNamePattern.java:202) at ch .qos .logback .core.rolling.helper.FileNamePattern.convertInt(FileNamePattern.java: 210) at ch .qos .logback .core .rolling .FixedWindowRollingPolicy.rollover(FixedWindowRollingPolicy.java:103) at ch .qos .logback .core.rolling.RollingFileAppender.rollover(RollingFileAppender.java:105) at ch .qos .logback .core.rolling.RollingFileAppender.subAppend(RollingFileAppender.java: 128)
        at ch.qos.logback.core.WriterAppender.append(WriterAppender.java:119)
        at ch.qos.logback.core.AppenderBase.doAppend(AppenderBase.java:79)
at ch .qos .logback .core .spi .AppenderAttachableImpl .appendLoopOnAppenders(AppenderAttachableImpl.java:60)
        at ch.qos.logback.classic.Logger.appendLoopOnAppenders(Logger.java:270)
        at ch.qos.logback.classic.Logger.callAppenders(Logger.java:257)
at ch.qos.logback.classic.Logger.buildLoggingEventAndAppend(Logger.java: 439) at ch.qos.logback.classic.Logger.filterAndLog_0_Or3Plus(Logger.java: 393)
        at ch.qos.logback.classic.Logger.info(Logger.java:597)
at ch .qos .logback.classic.net.SimpleSocketServer.run(SimpleSocketServer.java:79)


Is this an intentional restriction to make the file name pattern have %i first and then %d?

Thanks,

Neil

_______________________________________________
Logback-user mailing list
[email protected]
http://qos.ch/mailman/listinfo/logback-user

Reply via email to