Skip to main content

Rotacionamento Log

Introdução:

O rotacionamento de logs é um mecanismo utilizado para gerenciar arquivos de log gerados pela aplicação, evitando que cresçam indefinidamente e consumam espaço em disco.

Esse processo cria novos arquivos de log periodicamente e arquiva ou remove os arquivos antigos conforme a política definida.

A configuração de rotação de logs do Tomcat,Apache 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,organização, 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 avaliaravaliar e definir os valores mais apropriados, levandoconsiderando em consideração seu contextocontexto operacional, suas políticas internas e seus requisitos de governança.

Procedimento:

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

1. Pré-requisitos:
  • acesso administrativo ao servidor

  • Tomcat instalado

  • utilitário logrotate disponível no sistema

  • conhecimento básico de terminal Linux

2. 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

Os        Logslogs normalmente ficam nesseno diretório: 

/opt/tomcat/logs

       Liste os arquivos no diretório:: 

ls /opt/tomcat/logs

       Exemplo de arquivos que irãopodem aparecer. 
aparecer:

catalina.out
catalina.2026-03-09.log
localhost.2026-03-09.log
manager.2026-03-09.log
  2.3. Configurar rotaçConfiguração internade doRotacionamento Tomcat:de Logs:

       Edite o arquivo :

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 

Impacto da alteração:

  • A alteração afeta apenas a gestão de arquivos de log.
  • Logs antigos poderão ser removidos automaticamente conforme política definida.
3.4. Configurar rotação para o catalina.out:out (logrotate) :

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.5. Explicação dasdos configurações:parâmetros:
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.6. 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.7. 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)implementado no Tomcat como JULI.

Ele já possui suporte apara:

  • rotação diária

    e
  • retenção porbaseada dias.em dias

Porém,Entretanto, o arquivo catalina.out é produzido pelo stdout do processo Java,Java, e não pelo sistema de logging. Por issoesse motivo, ele não rotacionaé rotacionado automaticamente.

A ferramenta logrotate resolve esse problema ao:

    • detectar tamanho ou data do arquivo

    • copiar o log atual

    • truncar o arquivo original

    • comprimir logs antigos

    • remover arquivos antigos

    • remover logs antigos

IssoEsse processo permite controlecontrolar o uso de espaço em disco sem a necessidade de 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