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.
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.
- 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:
Edite o arquivo:
nano /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 nano /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:
detectar tamanho ou data
copiar o log atual
truncar o original
comprimir arquivos antigos
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