Apache log4j cloudstack política de arquivamento de rotação de log

1

Estou tentando limitar o número de logs mantidos no meu servidor de gerenciamento do cloudstack. Estou executando o log4j 1.2 e adicionei recentemente " <param name="MaxBackupIndex" value="31"/> " à minha configuração (/etc/cloudstack/management/log4j-cloud.xml) para manter apenas 31 logs:

<appender name="FILE" class="org.apache.log4j.rolling.RollingFileAppender">
      <param name="Append" value="true"/>
      <param name="Threshold" value="TRACE"/>
      <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
        <param name="FileNamePattern" value="/var/log/cloudstack/management/management-server.log.%d{yyyy-MM-dd}.gz"/>
        <param name="ActiveFileName" value="/var/log/cloudstack/management/management-server.log"/>
        <param name="MaxBackupIndex" value="31"/>
      </rollingPolicy>
      <layout class="org.apache.log4j.EnhancedPatternLayout">
         <param name="ConversionPattern" value="%d{ISO8601} %-5p [%c{1.}] (%t:%x) (logid:%X{logcontextid}) %m%n"/>
      </layout>
   </appender>

No entanto, todos os registros ainda estão lá e eu fiquei sem ideias. O log4j não aplica sua política de arquivamento a logs mais antigos? Há mais alguma coisa que eu precise mudar? Qualquer sugestão seria apreciada.

    
por Tom 30.03.2017 / 14:21

1 resposta

1

Para começar, não há o pacote ' rolling ' no log4j 1.2 (que eu sei que você está usando;)). Referir-se a uma classe em um pacote que é inexistente pode resultar em 'Exceções ClassNotFound' porque a classe que está procurando não reside onde você está dizendo que deveria ser.

Também gostaria de mover o MaxBackupIndex para cima de #rollingPolicy e adicionar o parâmetro MaxFileSize dessa forma.

<appender name="FILE" class="org.apache.log4j.RollingFileAppender">
      <param name="Append" value="true"/>
      <param name="Threshold" value="TRACE"/>
      <param name="MaxBackupIndex" value="31"/>
      <param name="MaxFileSize" value="x" />

Editar:

o pacote de rolagem pode ser encontrado no Apache Extras para log4j: O link whis é um arquivo jar adicional que contém uma funcionalidade extra. API padrão não tem pacote de rolagem.

    
por 30.03.2017 / 15:02