xo_vsyslog3
Create syslog (rfc5424) log records using libxo formatting
Part of xo_close_log(3).
Usage
void
void
void
void
int
Library
library “libxo”
Overview
The xo_syslog() function creates log entries following the standard defined in RFC5424. These messages are sent to the log syslogd(8) daemon, where they can be filtered, forwarded, and archived. libxo format strings are used to create both the message text and the SD-PARAMS content, containing name/value pairs that can be parsed by suitable automation software.
Refer to xo_format(5) for basic information about formatting strings. xo_syslog encodes all value fields at SD-PARAMS within the syslog message. An exception is made for fields with the "{d:}" modifier; such fields appear in the message text only, with fields with the "{e:}" modifier appear as SD-PARAMS, but not in the message text.
xo_vsyslog() accepts a va_list for additional flexibility.
xo_open_log(), xo_close_log(,, and) xo_set_logmask() are all analogous to their libs counterparts, openlog(3), closelog(3), and setlogmask(3). The extra underscores in the names are unfortunate, but keep consistency in libxo function names.
Examples
xo_syslog(LOG_LOCAL4 | LOG_NOTICE, "ID47",
"{e:iut/%u}An {:event-source} {:event-id/%u} log entry",
iut, source, id);
History
- FreeBSD 16.0-CURRENT (2026-10-27) to FreeBSD 11.2-RELEASE: the text shown here
- FreeBSD 11.1-RELEASE to FreeBSD 11.0-RELEASE