1

我正在运行 Debian Jessie (8.6) 机器。我启用了 rsyslogd:

rsyslogd 8.4.2, compiled with:
    FEATURE_REGEXP:             Yes
    GSSAPI Kerberos 5 support:      Yes
    FEATURE_DEBUG (debug build, slow code): No
    32bit Atomic operations supported:  Yes
    64bit Atomic operations supported:  Yes
    memory allocator:           system default
    Runtime Instrumentation (slow code):    No
    uuid support:               Yes
    Number of Bits in RainerScript integers: 64

我在 /etc/rsyslog.conf 中有以下几行:

*.err;kern,auth,authpriv,cron,daemon,syslog.none    -/var/log/syslog

我使用以下代码运行生成日志的 ac 代码:

sd_journal_print(LOG_ERR, "Hello World by journal_print");

检查 /var/log/syslog 文件时,我没有看到日志条目。但是 journalctl 显示日志中的日志。如果我将 rsyslog.conf 中的过滤器更改为以下内容,我开始在 /var/log/syslog 中看到日志:

*.err;kern,auth,authpriv,cron,daemon.none    -/var/log/syslog

syslog 设施的定义说,“由 syslogd 内部生成的消息”。

谁能解释为什么通过 sd_jounral_print() 从用户空间生成的日志被视为“syslogd 内部”?我做错了什么还是我的设置不好?

我将不胜感激任何帮助或指导。

4

0 回答 0