log/linux: make default output stderr

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>
This commit is contained in:
Ferruh Yigit 2021-02-09 15:06:20 +00:00 committed by Thomas Monjalon
parent 3b4f41a10c
commit 5988725d0e

View 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);