log/linux: make default output stderr
authorFerruh Yigit <ferruh.yigit@intel.com>
Tue, 9 Feb 2021 15:06:20 +0000 (15:06 +0000)
committerThomas Monjalon <thomas@monjalon.net>
Mon, 15 Mar 2021 23:01:44 +0000 (00:01 +0100)
In Linux by default DPDK log goes to stdout, as well as syslog.

It is possible for an application to change the library output stream
via 'rte_openlog_stream()' API, to set it to stderr, it can be used as:
rte_openlog_stream(stderr);

But still updating the default log output to 'stderr'.

Bugzilla ID: 8
Fixes: af75078fece3 ("first public release")
Cc: stable@dpdk.org
Reported-by: Alexandre Ferrieux <alexandre.ferrieux@orange.com>
Signed-off-by: Ferruh Yigit <ferruh.yigit@intel.com>
lib/librte_eal/linux/eal_log.c

index 43c8460..2095df7 100644 (file)
@@ -27,9 +27,9 @@ console_log_write(__rte_unused void *c, const char *buf, size_t size)
 {
        ssize_t ret;
 
-       /* write on stdout */
-       ret = fwrite(buf, 1, size, stdout);
-       fflush(stdout);
+       /* write on stderr */
+       ret = fwrite(buf, 1, size, stderr);
+       fflush(stderr);
 
        /* Syslog error levels are from 0 to 7, so subtract 1 to convert */
        syslog(rte_log_cur_msg_loglevel() - 1, "%.*s", (int)size, buf);