Запись сообщений в journald
В моей задачи, я реализую простую систему логирования. На данный момент, я могу записывать сообщения в :
- File
- Stdout
- TCP socket
- UDP socket
- Syslog
Но помимо этих вариантов, я должен записывать сообщения и в journald, в операционной системе Linux. Вопрос заключается в том, как мне это реализовать. В большинстве случаев, рекомендуется использовать
#include <systemd/sd-journal.h>
Но при попытки подключения к этой библиотеке, выдается ошибка - файл не найден. Также, мне интересно, разве при записи сообщений в syslog, они не должны записываться и в journald ?
Я спрашиваю об этом потому, что при записи сообщений в syslog с помощью этой функции:
syslog(priority, "%s", message.c_str());
записанные сообщения также отображаются и в journalctl.
Пример:
#include <sys/syslog.h>
int main()
{
syslog(3, "%s", "Hello!");
return EXIT_SUCCESS;
}
Output:
#linux:/home/linux # journalctl -f
Mar 24 01:44:08 linux log[21274]: Hello!