Existem ferramentas para fazer o mesmo em ambos FreeBSD e Linux, além de outros sistemas operacionais.
Fazendo registros estritamente dimensionados com rotação automática
As ferramentas a seguir mantêm conjuntos de arquivos de log estritamente dimensionados, girados automaticamente, rotacionáveis sob demanda, em um diretório especificado.
-
multilogde Dan Bernstein de daemontools oumultilogde Bruce Guenter <daemontools-encore , ou% de% freedt de Adam Sampson -
multilogde Laurent Bercot de s6 -
s6-logde Gerrit Pape de runit - Wayne Marshall
svlogdde perp - meu
tinylogde nós
O uso é muito simples: Envie a saída padrão e o erro padrão de um processo a ser registrado em um canal para sua entrada padrão, da maneira normal:
./thing-to-be-logged 2>&1 | cyclog logs/
cyclog adiciona timestamps TAI64N às linhas como padrão. Para processamento sem timestamp quando algo já estiver com registro de data e hora, use um dos cyclog s, multilog ou s6-log , em cada um dos quais a adição de registro de data e hora é uma opção não padrão.
Substituindo pelo syslog
O que você aponta para modificar o FreeBSD svlogd em si, com um patch datado de 2001 que pode não se aplicar de forma limpa hoje em dia, para ter outro mecanismo de arquivo de saída.
Uma abordagem alternativa é simplesmente substituir completamente o servidor syslog, além de configurar mais serviços para simplesmente registrar um erro padrão (sob gerenciamento de serviço que canaliza erro padrão para os serviços de registro) em vez de usar syslog em primeiro lugar.
Por exemplo: O conjunto de ferramentas nosh fornece vários substitutos, que dividem o trabalho do syslog e geram saída adequada para alimentação através da entrada padrão de uma das ferramentas de registro acima mencionadas:
- um serviço
syslogque executa um programa simples chamadoklogdpara ler deklog-reade simplesmente escreva esse fluxo de log em seu erro padrão. - um serviço
/proc/kmsgque executa um programa chamadolocal-syslog-readpara ler datagramas desyslog-read(/dev/lognos BSDs) e simplesmente escreva esse fluxo de log em seu erro padrão. - um serviço
/run/logque executa o programaudp-syslog-readmencionado acima para ouvir a porta syslog do UDP e simplesmente escreva esse fluxo de log em seu erro padrão. - um serviço
syslog-readque executa o programalocal-priv-syslog-readmencionado acima para ler datagramas desyslog-reade simplesmente escreva esse fluxo de log em seu erro padrão.
Leitura adicional
- Jonathan de Boyne Pollard (2015). " Registro ". A família dos daemontools . Respostas frequentemente dadas.
- Jonathan de Boyne Pollard (2016). Não use logrotate ou newsyslog neste século. . Respostas frequentemente dadas.
- Jonathan de Boyne Pollard (2016). " Registro em log ". Guia nosh . Softwares.
- link
- link
- link