14th out 2009

Criar um arquivo de log por dia no Apache com o rotatelogs

Vi ontem no blog do Danilo um post sobre como criar Virtualhosts no Apache, para servir diversos sites, e aproveitando a idéia, vale a pena falar como criar logs para cada Virtualhost.

O mais básico é dentro da diretiva do Virtualhost dizer que vai haver um CustomLog (log customizado) em uma determinada pasta, com um certo formato. O que eu sempre uso é algo assim (aproveitando o exemplo do Danilo):

<VirtualHost *>
    ServerName meusite.dev
    DocumentRoot /var/www/meusite.dev
    CustomLog "/var/www/meusite/log/access.log"  combined
</VirtualHost>

No caso,  a pasta /var/www/meusite/log deve ser criada e o Apache deve ter permissão de escrita, e combined é o formato do log que o Apache vai criar (existem diversos, que podem ser encontrados na documentação oficial).

Agora, algo mais bacana é criar um arquivo de log por dia. Porque? Simples: um arquivo de log de um site mesmo de pequeno porte pode chegar facilmente a gigas de tamanho em pouco tempo – pouco tempo = poucos meses.
Criando um arquivo por dia, é mais fácil de se fazer backup, ter controle do que está sendo logado e mesmo para usar os logs – como com um log analyzer. Para isso, é possível usar no linux o rotatelogs. Sei que no Windows é possível fazer isso também, mas não lembro de cabeça qual é o aplicativo que o faz.

<VirtualHost *>
    ServerName meusite.dev
    DocumentRoot /var/www/meusite.dev
    CustomLog "|/usr/sbin/rotatelogs /var/www/meusite/log/access_%Y%m%d.log 86400 -180"  combined
</VirtualHost>

Nesse caso, para cada dia (86400 segundos) é criado um arquivo diferente, com o nome no formato desejado (underline, ano, mês e dia no final). Voi-lá, tudo funcionando!

Posts relacionados

Avalie

1 estrela2 estrelas3 estrelas4 estrelas5 estrelas (No Ratings Yet)

One Response to “Criar um arquivo de log por dia no Apache com o rotatelogs”

  1. Dri Viaro says with Firefox on Windows XP

    Oi, passei pra conhecer o seu blog, e desejar bom fds.
    bjss

    aguardo sua visita ;)

Leave a Reply