Skip to main content

Rotacionamento Log

Introdução:

A configuração de rotação de logs do Tomcat,  não vem habilitada por padrão.

Ressalta-se que as configurações e os parâmetros de rotação — tais como periodicidade, retenção e critérios de exclusão — ficam a critério da própria empresa, que deverá definir os valores mais adequados de acordo com seu contexto operacional e suas políticas internas.

Abaixo é apresentado um exemplo de procedimento contendo parâmetros de rotação recomendados. 
No entanto, conforme mencionado anteriormente, cabe à própria organização avaliar e definir os valores mais apropriados, levando em consideração seu contexto operacional, políticas internas e requisitos de governança.

Procedimento:

Para fazer a configuração do rotacionamento do log do Tomcat, os comandos abaixo deverão ser executados por um usuário com permissões administrativas no servidor.

1.Localize a instalação do tomcat:

 Observação:  A localização da instalação  do tomcat pode variar de acordo com cada organização. 

Variáveis importantes:

CATALINA_HOME=/opt/tomcat
CATALINA_BASE=/opt/tomcat

         Logs normalmente ficam nesse diretório: 

/opt/tomcat/logs

       Liste os arquivos no diretório: 

ls /opt/tomcat/logs

       Exemplo de arquivos que irão aparecer. 

catalina.out
catalina.2026-03-09.log
localhost.2026-03-09.log
manager.2026-03-09.log

      2. Configurar rotação interna do Tomcat:

vim /opt/tomcat/conf/logging.properties

       Altere o arquivo para as configurações abaixo:

1catalina.org.apache.juli.FileHandler.level = INFO
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.
1catalina.org.apache.juli.FileHandler.maxDays = 30

2localhost.org.apache.juli.FileHandler.level = INFO
2localhost.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
2localhost.org.apache.juli.FileHandler.prefix = localhost.
2localhost.org.apache.juli.FileHandler.maxDays = 30

A alteração dessa configuração acarreta nas seguintes configurações:

  • Remove logs com mais de 30 dias
  • Cria logs diários

Exemplo de arquivos gerado:

catalina.2026-03-09.log
catalina.2026-03-08.log     

         3 - Configurar rotação para o catalina.out:

Normalmente, o tamanho do arquivo catalina.out é um dos principais problemas nos ambientes.
Para mitigar essa situação, é recomendável realizar a configuração da rotação do arquivo catalina.out, evitando o crescimento excessivo do log.

Para isso, é necessário criar a seguinte configuração. Primeiramente, crie o arquivo abaixo:

sudo vim /etc/logrotate.d/tomcat

Copie a configuração recomendada abaixa, cole no arquivo tomcat e salve o arquivo.  

/var/lib/tomcat10/logs/catalina.out {

    daily
    rotate 15

    size 50M

    compress
    delaycompress
    missingok
    notifempty

    copytruncate

    dateext
    dateformat -%Y%m%d

    create 640 tomcat tomcat
}

          4 -  Explicação das configurações:

Parâmetro Função
daily rotação diária
rotate 15 mantém 15 arquivos
size 50M rotaciona se passar de 50MB
compress gzip nos logs antigos
delaycompress evita compressão imediata
copytruncate não precisa reiniciar Tomcat
dateext adiciona data no arquivo
create recria arquivo com permissões

            5 -  Estrutura final de logs:
Depois de alguns dias, a estrutura de arquivos de logs ficara assim:

catalina.out
catalina.out-20260309
catalina.out-20260308.gz
catalina.out-20260307.gz

catalina.2026-03-09.log
catalina.2026-03-08.log
localhost.2026-03-09.log

            6 -  Política de retenção recomendada ( produção)

Tipo Retenção
catalina.out 15 dias
catalina logs 15 dias
logs compressos 15 dias

Uso médio de disco:

50MB × 15 ≈ 750MB

Com compressão:
≈ 200MB

Ressalta-se que esses parâmetros e configurações constituem recomendações. Cabe a cada organização avaliá-los e definir os valores mais apropriados, considerando seu contexto operacional, suas políticas internas e seus requisitos de governança.

Explicação técnica: 

O Tomcat utiliza o framework java.util.logging (JULI). Ele já possui suporte a rotação diária e retenção por dias.

Porém, o arquivo catalina.out é produzido pelo stdout do processo Java, não pelo sistema de logging. Por isso ele não rotaciona automaticamente.

A ferramenta logrotate resolve esse problema ao:

  1. detectar tamanho ou data
  2. copiar o log atual
  3. truncar o original
  4. comprimir arquivos antigos
  5. remover logs antigos

Isso permite controle de espaço em disco sem reiniciar o Tomcat.

Fontes:

Documentação oficial:

Apache Logging Configuration
https://tomcat.apache.org/tomcat-10.0-doc/logging.html

JULI Documentation
https://tomcat.apache.org/tomcat-10.0-doc/logging.html#Using_java.util.logging_(default)

logrotate manual
https://linux.die.net/man/8/logrotate

Linux Logging Best Practices
https://www.redhat.com/en/blog/linux-logrotate