Os arquivos de log guardam informações do funcionamento dos programas que rodam no sistema. Alguns deles geram seu próprio arquivo, outros são controlados pelo
syslog. Este fica em execução no sistema através do daemon
syslogd.
Configuração do syslog
O diretório padrão para armazenamento dos arquivos de log é o
/var/log/.
Seu arquivo de configuração é o
/etc/syslog.conf.
Ele é dividido em dois campos, seletor e ação, separados por espaços ou tabulações. Veja um exemplo:
kern.* /var/log/kernel
kern.crit @192.168.20.2
kern.crit /dev/console
kern.info;kern.!err /var/log/kernel-info
O seletor é dividido em duas partes, "facility" e "priority", separados por ponto.
O campo "facility" indica a origem da mensagem, que pode ser de qualquer uma das categorias:
- auth
- authpriv
- cron
- daemon
- ftp
- kern
- lpr
- mail
- news
- syslog
- user
- uucp
- local0 até local7
O campo "priority" caracteriza a urgência da mensagem, ou seja, seu nível de prioridade. Ordenando por prioridade da menor para a maior, temos:
- debug
- info
- notice
- warning
- err
- crit
- alert
- emerg
- none
* O termo "none" ignora a prioridade.
Tanto o campo "facility", quanto o "priority", podem estar representados por alguns caracteres. Seguem:
- * (asterisco) :: Indica que a regra vale para qualquer campo, dependendo em qual ele esteja, facility ou priority.
- , (vírgula) :: Mais de um facility pode ser usado, sendo separado por vírgula.
- = (igual) :: Confere exclusividade à facility ou priority que o sucede.
- ! (exclamação) :: Faz ignorar a facility ou priority que o sucede.
- ; (ponto e vírgula) :: Permite especificar mais de um seletor para cada ação.
Já o campo "ação", determina o caminho dado à mensagem. Este campo pode ser usado para direcionar mensagens para pipes, consoles, máquinas remotas e para usuários.
Registro de log via rede
Além de poder enviar mensagens de log para máquinas remotas, o
syslogd também pode receber e registrar mensagens de outras máquinas. Para isso, é preciso executar o daemon syslogd com o parâmetro "-r".
Comando
logrotate
Este comando é responsável pela rotatividade dos arquivos de log, renomeando, movendo, comprimindo para que o arquivo principal não fique muito grande e ocupe menor espaço no disco, entre outras opções. Este comando é geralmente colocado no cron e executa ações definidas no seguinte arquivo de configuração:
/etc/logrotate.conf.
Comando
logger
Com este comando é possível criar mensagens de log manualmente, descrevendo-as como argumento.
Principal parâmetro:
- -p :: permite determinar o facility e priority, no campo seletor.