我正在运行 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 内部”?我做错了什么还是我的设置不好?
我将不胜感激任何帮助或指导。