Sim, tudo isso tem a ver com o registro em log. Não, nada disso tem a ver com runlevel ou "anel de proteção".
O kernel mantém seus logs em um buffer de anel. A principal razão para isso é que os logs da inicialização do sistema sejam salvos até que o daemon syslog tenha a chance de inicializá-los e coletá-los. Caso contrário, não haveria registro de nenhum registro antes da inicialização do daemon syslog. O conteúdo desse buffer de anel pode ser visto a qualquer momento usando o comando dmesg
, e seu conteúdo também é salvo em /var/log/dmesg
da mesma forma que o daemon syslog está sendo inicializado.
Todos os logs que não vêm do kernel são enviados conforme são gerados para o daemon syslog, portanto, eles não são mantidos em nenhum buffer. Os logs do kernel também são coletados pelo daemon syslog à medida que são gerados, mas também continuam sendo salvos (desnecessariamente, sem dúvida) no buffer de anel.
Os níveis de log podem ser vistos documentados no syslog (3) manpage e são os seguintes:
- LOG_EMERG : o sistema está inutilizável
- LOG_ALERT : a ação deve ser executada imediatamente
- LOG_CRIT : condições críticas
- LOG_ERR : condições de erro
- LOG_WARNING : condições de aviso
- LOG_NOTICE : condição normal, mas significativa
- LOG_INFO : mensagem informativa
- LOG_DEBUG : mensagem de nível de depuração
Cada nível é projetado para ser menos "importante" do que o anterior. Um arquivo de log que registra registros em um nível também registra registros em todos os níveis mais importantes também.
A diferença entre /var/log/kern.log
e /var/log/mail.log
(por exemplo) não tem a ver com o nível, mas com a facilidade ou categoria. As categorias também são documentadas na página do manual.