chiark / gitweb /
build-sys: fix usage of path macros
[elogind.git] / src / log.c
index d82747ea8c914459997a254c9435a2d563721977..cc636a2dfac16e7fab8b1206717d3c1eb00e1a14 100644 (file)
--- a/src/log.c
+++ b/src/log.c
@@ -96,7 +96,7 @@ static int log_open_kmsg(void) {
                 return 0;
 
         if ((kmsg_fd = open("/dev/kmsg", O_WRONLY|O_NOCTTY|O_CLOEXEC)) < 0) {
-                log_info("Failed to open /dev/kmsg for logging: %s", strerror(errno));
+                log_error("Failed to open /dev/kmsg for logging: %s", strerror(errno));
                 return -errno;
         }
 
@@ -177,7 +177,7 @@ static int log_open_syslog(void) {
 
 fail:
         log_close_syslog();
-        log_info("Failed to open syslog for logging: %s", strerror(-r));
+        log_debug("Failed to open syslog for logging: %s", strerror(-r));
         return r;
 }
 
@@ -212,6 +212,9 @@ int log_open(void) {
                 }
 
         log_close_syslog();
+
+        /* Get the real /dev/console if we are PID=1, hence reopen */
+        log_close_console();
         return log_open_console();
 }
 
@@ -519,10 +522,9 @@ void log_parse_environment(void) {
                 if (log_show_color_from_string(e) < 0)
                         log_warning("Failed to parse bool %s. Ignoring.", e);
 
-        if ((e = getenv("SYSTEMD_LOG_LOCATION"))) {
+        if ((e = getenv("SYSTEMD_LOG_LOCATION")))
                 if (log_show_location_from_string(e) < 0)
                         log_warning("Failed to parse bool %s. Ignoring.", e);
-        }
 }
 
 LogTarget log_get_target(void) {