Descritor de arquivo para ler as mensagens de log do kernel?

1

Estou usando syslog para ler mensagens de log do kernel com SYSLOG_ACTION_READ.

Eu gostaria de saber se é possível "obter" um descritor de arquivo para "algo" que enviaria os logs do kernel (como o que o syslog fornece). De fato, eu gostaria de usar select para assistir a este descritor de arquivo na minha aplicação (já que eu estou vendo outros descritores de arquivos relacionados ao udev)

Além disso, gostaria de saber se há espaço para configuração (como definir o nível de log, formatar o registro de data e hora em formato legível).

Se algum ou todos os meus requisitos não forem possíveis, que tipo de abordagem você recomendaria?

    
por mamahuhu 17.09.2015 / 19:11

1 resposta

1

Execute strace dmesg para ver o que está lendo.

# strace -e '!read,write' dmesg >/dev/null
…
open("/dev/kmsg", O_RDONLY|O_NONBLOCK)  = 3
…

Não há parâmetros para alterar o formato ou filtrar mensagens, esse é o trabalho do programa que lê a partir desse dispositivo.

Se você tiver o syslog rodando, faria sentido assistir o log que ele emite (você pode fazer logar em um pipe), ao invés de ler diretamente os logs do kernel.

    
por 18.09.2015 / 04:17