summaryrefslogtreecommitdiff
path: root/src/shared/bus-unit-util.c
diff options
context:
space:
mode:
authorQuentin Deslandes <qde@naccy.de>2022-11-07 20:30:01 +0100
committerQuentin Deslandes <qde@naccy.de>2022-12-15 09:57:39 +0000
commit523ea1237a3db96c98eae02d87ec189816437c4c (patch)
tree76f5b68b17b97d087894a3fb8dfaac2dda9c8a89 /src/shared/bus-unit-util.c
parent96c648fecde74ed48270b2d6e29d11b12bf2e2b9 (diff)
downloadsystemd-523ea1237a3db96c98eae02d87ec189816437c4c.tar.gz
journal: log filtering options support in PID1
Define new unit parameter (LogFilterPatterns) to filter logs processed by journald. This option is used to store a regular expression which is carried from PID1 to systemd-journald through a cgroup xattrs: `user.journald_log_filter_patterns`.
Diffstat (limited to 'src/shared/bus-unit-util.c')
-rw-r--r--src/shared/bus-unit-util.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/shared/bus-unit-util.c b/src/shared/bus-unit-util.c
index 6b6383b60b..12b14ae584 100644
--- a/src/shared/bus-unit-util.c
+++ b/src/shared/bus-unit-util.c
@@ -1218,6 +1218,16 @@ static int bus_append_execute_property(sd_bus_message *m, const char *field, con
return 1;
}
+ if (streq(field, "LogFilterPatterns")) {
+ r = sd_bus_message_append(m, "(sv)", "LogFilterPatterns", "a(bs)", 1,
+ eq[0] != '~',
+ eq[0] != '~' ? eq : eq + 1);
+ if (r < 0)
+ return bus_log_create_error(r);
+
+ return 1;
+ }
+
if (STR_IN_SET(field, "StandardInput",
"StandardOutput",
"StandardError")) {