crond log level meaning

3

Não consigo encontrar em qualquer lugar o significado do nível de log crond . Eu sei que 0 é praticamente "logar tudo", enquanto 8 é "mostrar apenas informações importantes" graças à ajuda do crond:

/ # crond --help
BusyBox v1.26.2 (2017-11-23 08:40:54 GMT) multi-call binary.

Usage: crond -fbS -l N -d N -L LOGFILE -c DIR

    -f      Foreground
    -b      Background (default)
    -S      Log to syslog (default)
    -l N    Set log level. Most verbose:0, default:8
    -d N    Set log level, log to stderr
    -L FILE Log to FILE
    -c DIR  Cron dir. Default:/var/spool/cron/crontabs

mas onde posso encontrar exatamente a documentação / significado sobre os diferentes níveis?

Estou no Alpine 3.6.

    
por Oscar Fanelli 24.12.2017 / 14:21

1 resposta

2

A semântica particular dos valores de nível de log para crond são definidos apenas no código, parece. Todo o crond logging passa por uma função crondlog() em busybox/miscutils/crond.c função:

static void crondlog(unsigned level, const char *msg, va_list va)
{
    if (level >= G.log_level) {
         /* Do logging... */

Para que apenas as mensagens com níveis superiores ao que você especificar por meio da opção de linha de comando -l sejam registradas.

Em seguida, em outro lugar nesse arquivo crond.c , vemos que crondlog() é somente chamado por meio das funções do invólucro log5() , log7() e log8() . O que significa que esses são os únicos níveis nos quais o programa crond registra mensagens.

Esses níveis de log são específicos de crond e não estão relacionados a nenhum nível syslog(3) ou outros programas. Em suma, o significado desses níveis é encontrado apenas no código-fonte deste programa.

    
por 31.12.2017 / 19:13