Запись сообщений в 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!

Ответы (0 шт):