sd-journal systemd sd-journal 3 sd-journal APIs for submitting and querying log entries to and from the journal #include <systemd/sd-journal.h> pkg-config --cflags --libs libsystemd Description sd-journal.h is part of libsystemd3 and provides APIs to submit and query log entries. The APIs exposed act both as client for the systemd-journald.service8 journal service and as parser for the journal files on disk. See sd_journal_print3, sd_journal_stream_fd3, sd_journal_open3, sd_journal_next3, sd_journal_get_realtime_usec3, sd_journal_add_match3, sd_journal_seek_head3, sd_journal_enumerate_fields3, sd_journal_get_cursor3, sd_journal_get_cutoff_realtime_usec3, sd_journal_get_cutoff_monotonic_usec3, sd_journal_get_usage3, sd_journal_get_catalog3, sd_journal_get_fd3, sd_journal_has_runtime_files3 and sd_journal_has_persistent_files3 for more information about the functions implemented. Command line access for submitting entries to the journal is available with the systemd-cat1 tool. Command line access for querying entries from the journal is available with the journalctl1 tool. Thread safety Functions that operate on sd_journal objects are thread agnostic — a given sd_journal pointer may only be used from one thread at a time, but multiple independent threads may use multiple objects concurrently. Some functions — those that are used to send entries to the journal, like sd_journal_print3 and similar, or those that are used to retrieve global information like sd_journal_stream_fd3 and sd_journal_get_catalog_for_message_id3 — are fully thread-safe and may be called from multiple threads in parallel. Optional dependencies Depending on which build-time options are enabled, functions that operate on sd_journal objects might cause optional shared libraries to be dynamically loaded via dlopen3, such as decompression libraries (xz, lz4, zstd) or cryptographic libraries (gcrypt). See Also systemd1 sd_journal_print3 sd_journal_stream_fd3 sd_journal_open3 sd_journal_next3 sd_journal_get_data3 sd_journal_get_realtime_usec3 sd_journal_add_match3 sd_journal_seek_head3 sd_journal_enumerate_fields3 sd_journal_get_cursor3 sd_journal_get_cutoff_realtime_usec3 sd_journal_get_cutoff_monotonic_usec3 sd_journal_get_usage3 sd_journal_get_fd3 sd_journal_query_unique3 sd_journal_get_catalog3 sd_journal_has_runtime_files3 sd_journal_has_persistent_files3 journalctl1 sd-id1283 pkg-config1