chiark / gitweb /
main: when transitioning from initrd to the main system log to kmsg
[elogind.git] / src / shared / log.c
index 67a3e1b843bc41272f1420530557c1ce6ea786ee..96634645bc7c1ebe0e5c6d03686cc888ab7236cd 100644 (file)
@@ -30,6 +30,7 @@
 
 #include "log.h"
 #include "util.h"
+#include "missing.h"
 #include "macro.h"
 #include "socket-util.h"
 
@@ -804,19 +805,19 @@ int log_set_max_level_from_string(const char *e) {
 void log_parse_environment(void) {
         const char *e;
 
-        e = __secure_getenv("SYSTEMD_LOG_TARGET");
+        e = secure_getenv("SYSTEMD_LOG_TARGET");
         if (e && log_set_target_from_string(e) < 0)
                 log_warning("Failed to parse log target %s. Ignoring.", e);
 
-        e = __secure_getenv("SYSTEMD_LOG_LEVEL");
+        e = secure_getenv("SYSTEMD_LOG_LEVEL");
         if (e && log_set_max_level_from_string(e) < 0)
                 log_warning("Failed to parse log level %s. Ignoring.", e);
 
-        e = __secure_getenv("SYSTEMD_LOG_COLOR");
+        e = secure_getenv("SYSTEMD_LOG_COLOR");
         if (e && log_show_color_from_string(e) < 0)
                 log_warning("Failed to parse bool %s. Ignoring.", e);
 
-        e = __secure_getenv("SYSTEMD_LOG_LOCATION");
+        e = secure_getenv("SYSTEMD_LOG_LOCATION");
         if (e && log_show_location_from_string(e) < 0)
                 log_warning("Failed to parse bool %s. Ignoring.", e);
 }
@@ -859,6 +860,13 @@ int log_show_location_from_string(const char *e) {
         return 0;
 }
 
+bool log_on_console(void) {
+        if (log_target == LOG_TARGET_CONSOLE)
+                return true;
+
+        return syslog_fd < 0 && kmsg_fd < 0 && journal_fd < 0;
+}
+
 static const char *const log_target_table[] = {
         [LOG_TARGET_CONSOLE] = "console",
         [LOG_TARGET_KMSG] = "kmsg",