A pergunta é um pouco vaga, mas pelo que parece, você está perguntando se pode usar svlogd
para enviar mensagens syslog para outro programa além de rsyslogd
. A resposta é: qualquer programa que fornecesse um serviço de syslog seria suficiente. Há mais do que apenas rsyslogd
que fornece um serviço de rede syslog.
No entanto, a maneira como o runit se destina a manipular o log "nativamente" provavelmente está atrasado em relação ao que você está pensando.
A idéia é que você tenha algum tipo de serviço, e esse serviço grava a saída por stdout ou stderr. O programa runsv
exibirá svlogd
e erigirá um canal entre seu serviço e svlogd
; tudo o que o seu serviço tem a fazer é enviar dados para o stdout / stderr, o svlogd irá gravar diretamente no disco, e a vida é boa. Como o pipe é mantido por runsv
, deve haver problemas com o serviço sendo interrompido, a saída ainda é capturada e entregue em svlogd
- portanto, em teoria , você não perde os dados de log devido a uma falha de serviço.
Existe outro programa do mesmo autor, socklog
, que funciona como um front-end de syslog que canaliza para um% código%. Como há muitos programas que apenas assumem que svlogd
está disponível, /dev/log
fornece essa interface para que os dados do syslog possam ser capturados - ela atua como um serviço de syslog substituto. Isto é o oposto do que você está sugerindo.
Eu não estou dizendo que você não deveria usar o syslog, só estou dizendo que há mais de uma maneira de fazer isso. Se você realmente quiser desviar sua saída do svlogd de volta para o syslog, então sim, qualquer serviço syslog antigo funcionará bem, mas pode valer a pena considerar a opção "all native" e a exclusão de socklog
, se sua instalação permitir isso.