chiark / gitweb /
Prep v231.2: Add log messages for loginctl invoking system commands.
authorSven Eden <yamakuzure@gmx.net>
Thu, 22 Jun 2017 16:22:58 +0000 (18:22 +0200)
committerSven Eden <yamakuzure@gmx.net>
Thu, 22 Jun 2017 16:23:54 +0000 (18:23 +0200)
src/login/eloginctl.c

index 0fc4fc04e68bd955618049c83a6d1a69eba40d56..9e40e87ad22ffe12ac5a9069b6ed5a21fabf86d8 100644 (file)
@@ -25,6 +25,7 @@
 #include "parse-util.h"
 #include "process-util.h"
 #include "sd-login.h"
+#include "sd-messages.h"
 #include "spawn-polkit-agent.h"
 #include "string-util.h"
 #include "strv.h"
@@ -194,6 +195,59 @@ void elogind_cleanup(void) {
         strv_free(arg_wall);
 }
 
+static void elogind_log_special(enum elogind_action a) {
+        switch (a) {
+        case ACTION_HALT:
+                log_struct(LOG_INFO,
+                           LOG_MESSAGE("Halt action called."),
+                           LOG_MESSAGE_ID(SD_MESSAGE_SHUTDOWN),
+                           NULL);
+                break;
+        case ACTION_POWEROFF:
+                log_struct(LOG_INFO,
+                           LOG_MESSAGE("Poweroff action called."),
+                           LOG_MESSAGE_ID(SD_MESSAGE_SHUTDOWN),
+                           NULL);
+                break;
+        case ACTION_REBOOT:
+                log_struct(LOG_INFO,
+                           LOG_MESSAGE("Reboot action called."),
+                           LOG_MESSAGE_ID(SD_MESSAGE_SHUTDOWN),
+                           NULL);
+                break;
+        case ACTION_KEXEC:
+                log_struct(LOG_INFO,
+                           LOG_MESSAGE("KExec action called."),
+                           LOG_MESSAGE_ID(SD_MESSAGE_SHUTDOWN),
+                           NULL);
+                break;
+        case ACTION_SUSPEND:
+                log_struct(LOG_INFO,
+                           LOG_MESSAGE("Suspend action called."),
+                           LOG_MESSAGE_ID(SD_MESSAGE_SLEEP_START),
+                           NULL);
+                break;
+        case ACTION_HIBERNATE:
+                log_struct(LOG_INFO,
+                           LOG_MESSAGE("Hibernate action called."),
+                           LOG_MESSAGE_ID(SD_MESSAGE_SLEEP_START),
+                           NULL);
+        case ACTION_HYBRID_SLEEP:
+                log_struct(LOG_INFO,
+                           LOG_MESSAGE("Hybrid-Sleep action called."),
+                           LOG_MESSAGE_ID(SD_MESSAGE_SLEEP_START),
+                           NULL);
+        case ACTION_CANCEL_SHUTDOWN:
+                log_struct(LOG_INFO,
+                           LOG_MESSAGE("Cancel Shutdown called."),
+                           LOG_MESSAGE_ID(SD_MESSAGE_SHUTDOWN),
+                           NULL);
+                break;
+        default:
+                break;
+        }
+}
+
 static int elogind_reboot(sd_bus *bus, enum elogind_action a) {
         _cleanup_(sd_bus_error_free) sd_bus_error error = SD_BUS_ERROR_NULL;
         const char *method  = NULL;
@@ -412,6 +466,8 @@ int start_special(int argc, char *argv[], void *userdata) {
 
         a = verb_to_action(argv[0]);
 
+        elogind_log_special(a);
+
         /* Switch to cancel shutdown, if a shutdown action was requested,
            and the option to cancel it was set: */
         if ( IN_SET(a, ACTION_POWEROFF, ACTION_REBOOT)