我正在运行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
我使用以下命令运行生成日志的c代码:
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内部”视为?我做错了什么还是设置不好?
我将不胜感激任何帮助或指导。