Como escrever mensagens de log de script init.d no disco?

7

Estou executando o Debian wheezy. Muitos scripts em /etc/init.d/ usam várias funções de log definidas no Linux Base padrão , como log_success_msg e log_warning_msg . A documentação do LSB parece um pouco ambígua quanto ao que exatamente essas funções devem fazer:

The log_success_msg function shall cause the system to write a success message to an unspecified log file. The format of the message is unspecified. The log_success_msg function may also write a message to the standard output.

No entanto, acho que isso é interpretado como significando que as funções podem gravar em um arquivo de log ou apenas gravar na saída padrão. Parece que pelo menos no Debian, apenas faz com que uma mensagem seja gravada na saída padrão. Minhas suspeitas foram confirmadas quando eu verifiquei o arquivo que define essas funções, /lib/lsb/init-functions - ele apenas chama echo para exibir qualquer mensagem de log.

Isso não é um comportamento útil. O texto escrito na inicialização para a saída padrão desaparece logo após a inicialização ser concluída e pode rolar para fora da parte superior da tela em qualquer caso. Certamente, seria muito mais útil se essas mensagens fossem realmente armazenadas em um arquivo de log; na verdade, nem vejo o ponto de fazer o log de qualquer coisa por meio dessas funções, se elas estão indo apenas para a saída padrão.

Existe alguma maneira de obter esses registros em um arquivo? Alguém pode me esclarecer por que você se incomodaria em "registrar" qualquer coisa apenas na saída padrão? Qual a função útil que serve?

    
por Jez 11.07.2012 / 18:18

1 resposta

5

Parece que a solução é instalar bootlogd e colocar

BOOTLOGD_ENABLE=yes

em /etc/default/bootlogd .

Referências:

por 11.07.2012 / 18:31