crond 日志级别的含义

Osc*_*lli 6 cron logs alpine-linux

我在任何地方都找不到 .log 的日志级别含义crond。由于 crond 的帮助,我知道 0 几乎是“记录所有内容”,而 8 是“仅显示重要信息”:

/ # 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
Run Code Online (Sandbox Code Playgroud)

但是我在哪里可以找到有关不同级别的确切文档/含义?

我在 Alpine 3.6 上。

Cas*_*lia 5

日志级别值的特定语义crond似乎仅在代码中定义。所有的日志记录都通过函数中的函数crond进行:crondlog()busybox/miscutils/crond.c

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

这样,只有那些级别高于您通过-l命令行选项指定的级别的消息才会被记录。

然后,在该crond.c文件的其他地方,我们看到它crondlog()通过log5()log7()包装log8()函数调用。这意味着这些是该程序记录消息的唯一级别crond

这些日志级别特定于crond,与任何级别或其他程序无关syslog(3)。简而言之,这些级别的含义只能在该程序的源代码中找到。