On Sat, 20 Jul 2019 at 13:47, Jiri Pirko <jiri(a)resnulli.us> wrote:
That is odd. I don't see why they are there...
I also got a report about this issue. The reason is libdaemon do not
filter logs if use
DAEMON_LOG_SYSLOG, which looks intend to.
dlog.c:
---
35 static int daemon_verbosity_level = LOG_INFO;
46 void daemon_logv(int prio, const char* template, va_list arglist) {
47 int saved_errno;
48
49 saved_errno = errno;
50
51 if (daemon_log_use & DAEMON_LOG_SYSLOG) {
52 openlog(daemon_log_ident ? daemon_log_ident : "UNKNOWN",
LOG_PID, LOG_DAEMON);
53 vsyslog(prio | LOG_DAEMON, template, arglist);
54 }
55
56 if (prio > daemon_verbosity_level)
57 goto end_daemon_logv;
---
dlog.h:
---
94 /** Setter for the verbosity level of standard output.
95 *
96 * @param verbosity_prio Minimum priority level for messages to output
97 * on standard output/error
98 *
99 * Allows to decide which messages to output on standard output/error
100 * streams. All messages are logged to syslog and this setting does
101 * not influence that.
102 *
103 * The default value is LOG_WARNING.
104 *
105 * @since 0.14
106 * @see DAEMON_SET_VERBOSITY_AVAILABLE
And after commit e47d5db538736 ("teamd: add an option to force log
output to stdout, stderr or syslog").
NetworkManager will force teamd use DAEMON_LOG_SYSLOG by default. So
either the user force to
use option "-l stderr" or we need to implement an own filter ourselves.
Thanks
Hangbin