SD_JOURNAL_GET_CATALOG(3)

πŸ’– NAME πŸ’–

okay bestie, welcome to SD_JOURNAL_GET_CATALOG(3) β€” yes, that's the manual page name, and it's lowkey iconic. It covers sd_journal_get_catalog() and sd_journal_get_catalog_for_message_id(), whose whole thing is: retrieve a message catalog entry. periodt.

✨ SYNOPSIS ✨

#include <systemd/sd-journal.h>

int sd_journal_get_catalog(sd_journal *j, char **ret);

int sd_journal_get_catalog_for_message_id(sd_id128_t id, char **ret);

πŸ¦‹ DESCRIPTION πŸ¦‹

sd_journal_get_catalog() grabs a message catalog entry for the current journal entry. It looks up an entry in the message catalog by using the "MESSAGE_ID=" field of the current journal entry. Before it returns the entry, every journal field name in the catalog entry text that's enclosed in @ gets replaced with the respective field values of the current entry. slay.

If a field name referenced in the message catalog entry does not exist in the current journal entry, the @ will be removed, but the field name is otherwise left untouched. no cap, that's the rule. πŸ’…

sd_journal_get_catalog_for_message_id() works similar to sd_journal_get_catalog(), but the entry is looked up by the specified message ID β€” and bestie, no open journal context is necessary for this β€” and no field substitution is performed.

For more info about the journal message catalog, pls refer to the Journal Message Catalogs[1] documentation page. 🫢

πŸŽ€ RETURN VALUE πŸŽ€

sd_journal_get_catalog() and sd_journal_get_catalog_for_message_id() return 0 on success or a negative errno-style error code. If no matching message catalog entry is found, -ENOENT is returned.

On successful return, ret points to a new string, which must be freed with free(3). do not forget, bestie. πŸ’–

🌸 NOTES 🌸

Function sd_journal_get_catalog() is thread-agnostic and only a single thread may operate on a given object at any given time. Multiple independent objects may be used from different threads in parallel.

Function sd_journal_get_catalog_for_message_id() is thread-safe and may be called from multiple threads in parallel. that's the vibe check: this one can share. ✨

Functions described here are available as a shared library, which can be compiled against and linked to with the libsystemd pkg-config(1) file.

πŸ‘‘ HISTORY πŸ‘‘

sd_journal_get_catalog() and sd_journal_get_catalog_for_message_id() were added in version 196. iconic behavior fr fr. πŸ”₯

🌈 SEE ALSO 🌈

🧚 NOTES (footnote bestie) 🧚

  1. Journal Message Catalogs β€” https://systemd.io/CATALOG

with love and zero cap, systemd 261.3 Β· SD_JOURNAL_GET_CATALOG(3) πŸ«ΆπŸ’–πŸ’…

πŸ“¦ where this page comes from