Print non-errors to stdout
authorClifford Wolf <clifford@clifford.at>
Sat, 3 Jan 2015 21:10:33 +0000 (22:10 +0100)
committerClifford Wolf <clifford@clifford.at>
Sat, 3 Jan 2015 21:10:33 +0000 (22:10 +0100)
kernel/driver.cc
kernel/log.cc
kernel/log.h

index f1bf0657b22a77ca140eb0834f5f5ed5c73ec96c..2cbdba8f33ee8d4e23d87d841ec1a5b783d5caa9 100644 (file)
@@ -268,8 +268,10 @@ int main(int argc, char **argv)
                }
        }
 
-       if (log_errfile == NULL)
-               log_files.push_back(stderr);
+       if (log_errfile == NULL) {
+               log_files.push_back(stdout);
+               log_error_stderr = true;
+       }
 
        if (print_banner) {
                log("\n");
index b984f0112e4183220730c3f31b70637218b555ee..2be425ffd86a72eedbb5152d518e478d59ffd4ca 100644 (file)
@@ -44,6 +44,7 @@ FILE *log_errfile = NULL;
 SHA1 *log_hasher = NULL;
 
 bool log_time = false;
+bool log_error_stderr = false;
 bool log_cmd_error_throw = false;
 bool log_quiet_warnings = false;
 int log_verbose_level;
@@ -175,6 +176,11 @@ void logv_error(const char *format, va_list ap)
        if (log_errfile != NULL)
                log_files.push_back(log_errfile);
 
+       if (log_error_stderr)
+               for (auto &f : log_files)
+                       if (f == stdout)
+                               f = stderr;
+
        log("ERROR: ");
        logv(format, ap);
        log_flush();
index 8096758f679a5962d45fabdb8646fe26c87ee855..fa02d2396932344e39f7eeba5362e9348aa5da22 100644 (file)
@@ -46,6 +46,7 @@ extern FILE *log_errfile;
 extern SHA1 *log_hasher;
 
 extern bool log_time;
+extern bool log_error_stderr;
 extern bool log_cmd_error_throw;
 extern bool log_quiet_warnings;
 extern int log_verbose_level;