X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Flog.c;h=d0d98ddf753ac14bc97abc7708994e1cefd2c148;hb=11ce3427242b8b4ddf638ed5703d69041d719b4c;hp=8c20b9c9deda5cbd4fded3626fa2dc99a54373dc;hpb=d6c9574fb558d9e304699b1cc7522c3b133adfc9;p=elogind.git diff --git a/src/log.c b/src/log.c index 8c20b9c9d..d0d98ddf7 100644 --- a/src/log.c +++ b/src/log.c @@ -73,7 +73,7 @@ static int log_open_console(void) { return console_fd; } - log_info("Succesfully opened /dev/console for logging."); + log_debug("Succesfully opened /dev/console for logging."); } else console_fd = STDERR_FILENO; @@ -99,7 +99,7 @@ static int log_open_kmsg(void) { return -errno; } - log_info("Succesfully opened /dev/kmsg for logging."); + log_debug("Succesfully opened /dev/kmsg for logging."); return 0; } @@ -146,7 +146,7 @@ static int log_open_syslog(void) { goto fail; } - log_info("Succesfully opened syslog for logging."); + log_debug("Succesfully opened syslog for logging."); return 0; @@ -331,7 +331,7 @@ static int log_dispatch( do { char *e; - int k; + int k = 0; buffer += strspn(buffer, NEWLINE); @@ -344,24 +344,26 @@ static int log_dispatch( if (log_target == LOG_TARGET_SYSLOG_OR_KMSG || log_target == LOG_TARGET_SYSLOG) { - if ((r = write_to_syslog(level, file, line, func, buffer)) < 0) { + if ((k = write_to_syslog(level, file, line, func, buffer)) < 0) { log_close_syslog(); log_open_kmsg(); - } else if (r > 0) + } else if (k > 0) r++; } - if (log_target == LOG_TARGET_SYSLOG_OR_KMSG || - log_target == LOG_TARGET_KMSG) { + if (k <= 0 && + (log_target == LOG_TARGET_SYSLOG_OR_KMSG || + log_target == LOG_TARGET_KMSG)) { - if ((r = write_to_kmsg(level, file, line, func, buffer)) < 0) { + if ((k = write_to_kmsg(level, file, line, func, buffer)) < 0) { log_close_kmsg(); log_open_console(); - } else if (r > 0) + } else if (k > 0) r++; } - if ((k = write_to_console(level, file, line, func, buffer)) < 0) + if (k <= 0 && + (k = write_to_console(level, file, line, func, buffer)) < 0) return k; buffer = e;