On Sat, 20 Jul 2019 at 13:47, Jiri Pirko jiri@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