Rotacionar logs do Wildfly por dia e tamanho

Uma dica interessante é rotacionar os logs por dia e tamanho. Ao rotacionar somente por dia, o tamanho do arquivo pode ficar gigante, atingindo a ordem de GB. Se rotacionar por tamanho, perde-se a capacidade de identificar os logs pelo nome do arquivo, então combina-se os dois.

No Wildfly 8 (também no EAP 6.1) é possível ter esta configuração através de um handler já disponível: org.jboss.logmanager.handlers.PeriodicSizeRotatingFileHandler

Ele deverá ser configurado através de um custom-handler.

Veja o trecho xml a adicionar no subsistema de logging.

<custom-handler name="ROTACAO_TAMANHO_DATA" class="org.jboss.logmanager.handlers.PeriodicSizeRotatingFileHandler"  module="org.jboss.logmanager">
    <level name="INFO"/>
    <formatter>
        <pattern-formatter pattern="%d{dd-MM-yyyy HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n"/>
    </formatter>
    <properties>
        <property name="rotateSize" value="4024000"/>
        <property name="maxBackupIndex" value="10"/>
        <property name="suffix" value=".yyyy-MM-dd"/>
        <property name="append" value="true"/>
        <property name="autoFlush" value="true"/>
        <property name="fileName" value="${jboss.server.log.dir}/jboss.log"/>
    </properties>
</custom-handler>

Ou se não quiser para o Wildfly, pode fazer isso enquanto ele funciona, com o uso do CLI.

/subsystem=logging/custom-handler=ROTACAO_TAMANHO_DATA:add(class="org.jboss.logmanager.handlers.PeriodicSizeRotatingFileHandler", module="org.jboss.logmanager", enabled=true, formatter="%d{dd-MM-yyyy HH:mm:ss,SSS} %-5p [%c] (%t) %s%E%n", level=INFO, name="ROTACAO_TAMANHO_DATA", properties={rotateSize=4024000,maxBackupIndex=10,suffix=".yyyy-MM-dd",fileName="${jboss.server.log.dir}/jboss.log", append=true, autoFlush=true})

Os arquivos gerados ficarão com a seguinte nomenclatura.

jboss.log
jboss.log.2014-02-10.1
jboss.log.2014-02-10.10
jboss.log.2014-02-10.2
jboss.log.2014-02-10.3
jboss.log.2014-02-10.4
jboss.log.2014-02-10.5
jboss.log.2014-02-10.6
jboss.log.2014-02-10.7
jboss.log.2014-02-10.8
jboss.log.2014-02-10.9

 

Written on February 10, 2014