Привет, ЛОР.
Я заинклудил <systemd/sd_journal.h> и попробовал простую запись через sd_journal_print(). В лог попадает, через journalctl отображается (если журнал выводить полностью).
Теперь хочу посмотреть записи только от своей программы. В man journalctl есть пример, в качестве единственного параметра указать, например, /usr/bin/nginx, и journalctl должен показать сообщения от него. Но с моей программой такое не проходит, даже когда я задаю полный путь, он пишет «** No entries **».
Из-за чего такое может быть, и от чего это зависит? Может, это срабатывает только для сообщений, записанных через sd_journal_send()?
(Есть ещё ключ -u, но он для служб, запущенных через systemd, там явно указывается юнит. Может, фокус с путём в качестве единственного параметра работает только для того, что запущено через systemd?)
И второй вопрос. Для sd_journal_send(), как я вижу, требуется MESSAGE_ID. Если моя программа выводит разные сообщения, мне для каждого сообщения надо регистрировать отдельный ID? Или как?






