timebasedrollingpolicy logger configuration gzip logback

configuration - logger - ¿Cómo configuro logback para gzip mis registros automáticamente?



logback logger (2)

Intente agregar <cleanHistoryOnStart>true</cleanHistoryOnStart> para que la reinversión ocurra en el próximo inicio, como si no se estuviera ejecutando en el momento de la reinversión, no habría ocurrido.

Estoy usando logback en mi aplicación web java. Aquí está mi archivo "logback.xml".

<?xml version="1.0" encoding="UTF-8"?> <configuration debug="false"> <property name="LOG_DIR" value="/home/ying/.jetty_logs/vehicle" /> <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender"> <encoder> <pattern>%date [%thread] %-5level %logger{36}[%L] - %msg%n</pattern> </encoder> </appender> <appender name="LAST" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${LOG_DIR}/last.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>last.%d{yyyy-MM}.gz</fileNamePattern> <maxHistory>24</maxHistory> </rollingPolicy> <encoder> <pattern>%date:%msg%n</pattern> </encoder> </appender> <logger name="org.springframework" level="WARN" /> <logger name="org.apache.shiro" level="WARN" /> <logger name="org.hibernate" level="WARN" /> <logger name="ying.car.interceptor.AutoLoginInterceptor" additivity="false" level="INFO"> <appender-ref ref="LAST" /> </logger> <logger name="ying.car.controller.LoginController" additivity="false" level="INFO"> <appender-ref ref="LAST" /> </logger> <logger name="ying.car.controller.LogoutController" additivity="false" level="INFO"> <appender-ref ref="LAST" /> </logger> <root level="DEBUG"> <appender-ref ref="STDOUT" /> </root> </configuration>

hoy es 1 de junio de 2013, todos mis registros anteriores se sobrescriben y no se crea * .gz. Alguien me ayude por favor.


Trate de hacer esto, espero que funcione para usted.

<appender name="FILE" class="ch.qos.logback.core.rolling.RollingFileAppender"> <File>${LOGDIR}/filename.log</File> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <!-- rollover daily --> <FileNamePattern>${LOGDIR}/file.%d{yyyy-MM-dd}.%i.log.gz </FileNamePattern> <!-- keep 30 days'' worth of history --> <MaxHistory>30</MaxHistory> <!-- or whenever the file size reaches 10MB --> <timeBasedFileNamingAndTriggeringPolicy class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP"> <maxFileSize>10MB</maxFileSize> </timeBasedFileNamingAndTriggeringPolicy> </rollingPolicy> <encoder class="ch.qos.logback.classic.encoder.PatternLayoutEncoder"> <Pattern>%date [%thread] %-5level %logger{36} - %msg%n </Pattern> </encoder> </appender>

El código anterior comprimirá su archivo el día o si el tamaño del archivo de registro supera los 10 MB.

Nota: He agregado "% i" en filePattern, iterará su nombre de archivo como archivo1, archivo2, etc.