sd-journal — APIs for submitting and querying log entries to and from the journal
#include <systemd/sd-journal.h>
pkg-config --cflags --libs libsystemd-journal 
sd-journal.h provides APIs
                to submit and query log entries. The APIs exposed act
                both as client for the
                systemd-journald.service(8)
                journal service and as parser for the journal files
                on disk.
                
See sd_journal_print(3), sd_journal_stream_fd(3), sd_journal_open(3), sd_journal_next(3), sd_journal_get_realtime_usec(3), sd_journal_add_match(3), sd_journal_seek_head(3), sd_journal_get_cursor(3), sd_journal_cutoff_realtime_usec(3), sd_journal_get_usage(3), sd_journal_get_catalog(3) and sd_journal_get_fd(3) for more information about the functions implemented.
Command line access for submitting entries to the journal is available with the systemd-cat(1) tool. Command line access for querying entries from the journal is available with the journalctl(1) tool.
These APIs are implemented as shared library,
                which can be compiled and linked to with the
                libsystemd-journal
                pkg-config(1)
                file.
systemd(1), sd_journal_print(3), sd_journal_stream_fd(3), sd_journal_open(3), sd_journal_next(3), sd_journal_get_data(3), sd_journal_get_realtime_usec(3), sd_journal_add_match(3), sd_journal_seek_head(3), sd_journal_get_cursor(3), sd_journal_cutoff_realtime_usec(3), sd_journal_get_usage(3), sd_journal_get_fd(3), sd_journal_query_unique(3), sd_journal_get_catalog(3), journalctl(1), sd-id128(3), pkg-config(1)