sd-daemon systemd Developer Lennart Poettering lennart@poettering.net sd-daemon 3 sd-daemon SD_EMERG SD_ALERT SD_CRIT SD_ERR SD_WARNING SD_NOTICE SD_INFO SD_DEBUG APIs for new-style daemons #include <systemd/sd-daemon.h> pkg-config --cflags --libs libsystemd Description sd-daemon.h provide APIs for new-style daemons, as implemented by the systemd1 init system. See sd_listen_fds3, sd_notify3, sd_booted3, sd_is_fifo3, sd_watchdog_enabled3 for more information about the functions implemented. In addition to these functions, a couple of logging prefixes are defined as macros: #define SD_EMERG "<0>" /* system is unusable */ #define SD_ALERT "<1>" /* action must be taken immediately */ #define SD_CRIT "<2>" /* critical conditions */ #define SD_ERR "<3>" /* error conditions */ #define SD_WARNING "<4>" /* warning conditions */ #define SD_NOTICE "<5>" /* normal but significant condition */ #define SD_INFO "<6>" /* informational */ #define SD_DEBUG "<7>" /* debug-level messages */ These prefixes are intended to be used in conjunction with stderr-based logging as implemented by systemd. If a systemd service definition file is configured with StandardError=syslog or StandardError=kmsg, these prefixes can be used to encode a log level in lines printed. This is similar to the kernel printk()-style logging. See klogctl2 for more information. The log levels are identical to syslog3's log level system. To use these prefixes simply prefix every line with one of these strings. A line that is not prefixed will be logged at the default log level SD_INFO. Hello World A daemon may log with the log level NOTICE by issuing this call: fprintf(stderr, SD_NOTICE "Hello World!\n"); Notes These APIs are implemented as a shared library, which can be compiled and linked to with the libsystemd pkg-config1 file. See Also systemd1, sd_listen_fds3, sd_notify3, sd_booted3, sd_is_fifo3, sd_watchdog_enabled3, daemon7, systemd.service5, systemd.socket5, fprintf3, sd-readahead3, pkg-config1