]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
systemctl: show logs for correct namespace of service
authorLennart Poettering <lennart@poettering.net>
Wed, 27 Nov 2019 11:13:59 +0000 (12:13 +0100)
committerLennart Poettering <lennart@poettering.net>
Fri, 31 Jan 2020 14:02:52 +0000 (15:02 +0100)
src/login/loginctl.c
src/machine/machinectl.c
src/shared/logs-show.c
src/shared/logs-show.h
src/systemctl/systemctl.c

index 6fea2c9e33dba8a81ae0fcf5a7551eed20f30127..2e39f557632fffb8e020478704a23b5b6bc6936f 100644 (file)
@@ -576,6 +576,7 @@ static int print_session_status_info(sd_bus *bus, const char *path, bool *new_li
                         show_journal_by_unit(
                                         stdout,
                                         i.scope,
+                                        NULL,
                                         arg_output,
                                         0,
                                         i.timestamp.monotonic,
@@ -660,6 +661,7 @@ static int print_user_status_info(sd_bus *bus, const char *path, bool *new_line)
                 show_journal_by_unit(
                                 stdout,
                                 i.slice,
+                                NULL,
                                 arg_output,
                                 0,
                                 i.timestamp.monotonic,
index 2377416b4406a034549ff346a6f9b1dc48de0b68..61234582a3405e50b3700bb7926f256c86e66d77 100644 (file)
@@ -626,6 +626,7 @@ static void print_machine_status_info(sd_bus *bus, MachineStatusInfo *i) {
                         show_journal_by_unit(
                                         stdout,
                                         i->unit,
+                                        NULL,
                                         arg_output,
                                         0,
                                         i->timestamp.monotonic,
index ce0a4acf9c894532d0373e2fd9ca88a7040b18ed..605412aec5186caa75540d96aa18a9e32ae6319f 100644 (file)
@@ -1453,6 +1453,7 @@ int add_match_this_boot(sd_journal *j, const char *machine) {
 int show_journal_by_unit(
                 FILE *f,
                 const char *unit,
+                const char *log_namespace,
                 OutputMode mode,
                 unsigned n_columns,
                 usec_t not_before,
@@ -1473,7 +1474,7 @@ int show_journal_by_unit(
         if (how_many <= 0)
                 return 0;
 
-        r = sd_journal_open(&j, journal_open_flags);
+        r = sd_journal_open_namespace(&j, log_namespace, journal_open_flags | SD_JOURNAL_INCLUDE_DEFAULT_NAMESPACE);
         if (r < 0)
                 return log_error_errno(r, "Failed to open journal: %m");
 
index 1e0c4ea14646586436f9561eaf33e5fd7b7bdb2f..345efa4b2bbd091697d7bda97328ed5d5e008f4d 100644 (file)
@@ -46,6 +46,7 @@ int add_matches_for_user_unit(
 int show_journal_by_unit(
                 FILE *f,
                 const char *unit,
+                const char *namespace,
                 OutputMode mode,
                 unsigned n_columns,
                 usec_t not_before,
index 60872bc5373126648d66f66bb913d8f69cfc8319..5547058296ac091be043231374be5d5259cfc5fc 100644 (file)
@@ -4007,6 +4007,8 @@ typedef struct UnitStatusInfo {
 
         int exit_code, exit_status;
 
+        const char *log_namespace;
+
         usec_t condition_timestamp;
         bool condition_result;
         LIST_HEAD(UnitCondition, conditions);
@@ -4545,6 +4547,7 @@ static void print_status_info(
                 show_journal_by_unit(
                                 stdout,
                                 i->id,
+                                i->log_namespace,
                                 arg_output,
                                 0,
                                 i->inactive_exit_timestamp_monotonic,
@@ -5491,6 +5494,7 @@ static int show_one(
                 { "ExecMainExitTimestamp",          "t",               NULL,           offsetof(UnitStatusInfo, exit_timestamp)                    },
                 { "ExecMainCode",                   "i",               NULL,           offsetof(UnitStatusInfo, exit_code)                         },
                 { "ExecMainStatus",                 "i",               NULL,           offsetof(UnitStatusInfo, exit_status)                       },
+                { "LogNamespace",                   "s",               NULL,           offsetof(UnitStatusInfo, log_namespace)                     },
                 { "ConditionTimestamp",             "t",               NULL,           offsetof(UnitStatusInfo, condition_timestamp)               },
                 { "ConditionResult",                "b",               NULL,           offsetof(UnitStatusInfo, condition_result)                  },
                 { "Conditions",                     "a(sbbsi)",        map_conditions, 0                                                           },