From fa63798a2e3f5ef568b6f191f6660cdd3b0be8fe Mon Sep 17 00:00:00 2001 From: Luca Boccassi Date: Mon, 22 May 2023 16:25:50 +0100 Subject: [PATCH] man: use setlogmask in LogControl1 example Useful to show programs using syslog() how to easily set a mask. --- man/logcontrol-example.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/man/logcontrol-example.c b/man/logcontrol-example.c index 734318da93..c199ec7a0f 100644 --- a/man/logcontrol-example.c +++ b/man/logcontrol-example.c @@ -130,6 +130,7 @@ static int property_set( for (int i = 0; i < LOG_DEBUG + 1; i++) if (strcmp(value, log_level_table[i]) == 0) { o->log_level = i; + setlogmask(LOG_UPTO(i)); return 0; } @@ -193,6 +194,12 @@ int main(int argc, char **argv) { .syslog_identifier = "example", }; + /* https://man7.org/linux/man-pages/man3/setlogmask.3.html + * Programs using syslog() instead of sd_journal can use this API to cut logs + * emission at the source. + */ + setlogmask(LOG_UPTO(o.log_level)); + /* Acquire a connection to the bus, letting the library work out the details. * https://www.freedesktop.org/software/systemd/man/sd_bus_default.html */