我正在尝试使用sd_journal_print_with_location()
函数。
#include <systemd/sd-journal.h>
int main() {
sd_journal_print_with_location(LOG_INFO, "CODE_FILE=tst_file.c", "CODE_LINE=123", "main", "message");
return 0;
}
然后执行:
$ gcc -o tst_file tst_file.c -lsystemd
$ ./tst_file
$ journalctl --identifier=tst_file
Dec 11 12:29:17 MYBOX tst_file[1827]: message
所以问题是:file
、line
和func
字段在哪里?为什么我无法通过 看到它们journalctl
?我做错了什么?
journalctl
需要一个--output=verbose
键来将所有字段打印到标准输出。谜团已经解开了。