mirror of
https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git
synced 2025-12-28 04:00:09 +01:00
logging: respect choice of journal/syslog even with --debug
Previously, the daemon would just use syslog with LOG_PERROR when run with --debug option, even when actually configured to log into the journal. Let's respect the configuration, but preserve the logging to stderr.
This commit is contained in:
parent
b11b603879
commit
03a3fd9014
4 changed files with 18 additions and 16 deletions
11
src/main.c
11
src/main.c
|
|
@ -348,12 +348,11 @@ main (int argc, char *argv[])
|
|||
/* Set up unix signal handling - before creating threads, but after daemonizing! */
|
||||
nm_main_utils_setup_signals (main_loop);
|
||||
|
||||
nm_logging_syslog_openlog (nm_config_get_is_debug (config)
|
||||
? "debug"
|
||||
: nm_config_data_get_value_cached (NM_CONFIG_GET_DATA_ORIG,
|
||||
NM_CONFIG_KEYFILE_GROUP_LOGGING,
|
||||
NM_CONFIG_KEYFILE_KEY_LOGGING_BACKEND,
|
||||
NM_CONFIG_GET_VALUE_STRIP | NM_CONFIG_GET_VALUE_NO_EMPTY));
|
||||
nm_logging_syslog_openlog (nm_config_data_get_value_cached (NM_CONFIG_GET_DATA_ORIG,
|
||||
NM_CONFIG_KEYFILE_GROUP_LOGGING,
|
||||
NM_CONFIG_KEYFILE_KEY_LOGGING_BACKEND,
|
||||
NM_CONFIG_GET_VALUE_STRIP | NM_CONFIG_GET_VALUE_NO_EMPTY),
|
||||
nm_config_get_is_debug (config));
|
||||
|
||||
nm_log_info (LOGD_CORE, "NetworkManager (version " NM_DIST_VERSION ") is starting...");
|
||||
|
||||
|
|
|
|||
|
|
@ -432,9 +432,8 @@ main (int argc, char *argv[])
|
|||
gl.main_loop = g_main_loop_new (NULL, FALSE);
|
||||
setup_signals ();
|
||||
|
||||
nm_logging_syslog_openlog (global_opt.logging_backend
|
||||
? global_opt.logging_backend
|
||||
: (global_opt.debug ? "debug" : NULL));
|
||||
nm_logging_syslog_openlog (global_opt.logging_backend,
|
||||
global_opt.debug);
|
||||
|
||||
_LOGI (LOGD_CORE, "nm-iface-helper (version " NM_DIST_VERSION ") is starting...");
|
||||
|
||||
|
|
|
|||
|
|
@ -94,6 +94,7 @@ static struct Global {
|
|||
NMLogLevel log_level;
|
||||
bool uses_syslog:1;
|
||||
bool syslog_identifier_initialized:1;
|
||||
bool debug_stderr:1;
|
||||
const char *prefix;
|
||||
const char *syslog_identifier;
|
||||
enum {
|
||||
|
|
@ -630,6 +631,9 @@ _nm_log_impl (const char *file,
|
|||
|
||||
g_get_current_time (&tv);
|
||||
|
||||
if (global.debug_stderr)
|
||||
g_printerr (MESSAGE_FMT"\n", MESSAGE_ARG (global, tv, msg));
|
||||
|
||||
switch (global.log_backend) {
|
||||
#if SYSTEMD_JOURNAL
|
||||
case LOG_BACKEND_JOURNAL:
|
||||
|
|
@ -817,7 +821,7 @@ nm_logging_set_prefix (const char *format, ...)
|
|||
}
|
||||
|
||||
void
|
||||
nm_logging_syslog_openlog (const char *logging_backend)
|
||||
nm_logging_syslog_openlog (const char *logging_backend, gboolean debug)
|
||||
{
|
||||
if (global.log_backend != LOG_BACKEND_GLIB)
|
||||
g_return_if_reached ();
|
||||
|
|
@ -825,21 +829,21 @@ nm_logging_syslog_openlog (const char *logging_backend)
|
|||
if (!logging_backend)
|
||||
logging_backend = ""NM_CONFIG_DEFAULT_LOGGING_BACKEND;
|
||||
|
||||
if (strcmp (logging_backend, "debug") == 0) {
|
||||
global.log_backend = LOG_BACKEND_SYSLOG;
|
||||
openlog (syslog_identifier_domain (&global), LOG_CONS | LOG_PERROR | LOG_PID, LOG_USER);
|
||||
#if SYSTEMD_JOURNAL
|
||||
} else if (strcmp (logging_backend, "syslog") != 0) {
|
||||
if (strcmp (logging_backend, "syslog") != 0) {
|
||||
global.log_backend = LOG_BACKEND_JOURNAL;
|
||||
global.uses_syslog = TRUE;
|
||||
global.debug_stderr = debug;
|
||||
|
||||
/* ensure we read a monotonic timestamp. Reading the timestamp the first
|
||||
* time causes a logging message. We don't want to do that during _nm_log_impl. */
|
||||
nm_utils_get_monotonic_timestamp_ns ();
|
||||
} else
|
||||
#endif
|
||||
} else {
|
||||
{
|
||||
global.log_backend = LOG_BACKEND_SYSLOG;
|
||||
global.uses_syslog = TRUE;
|
||||
global.debug_stderr = debug;
|
||||
openlog (syslog_identifier_domain (&global), LOG_PID, LOG_DAEMON);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -191,7 +191,7 @@ gboolean nm_logging_setup (const char *level,
|
|||
void nm_logging_set_syslog_identifier (const char *domain);
|
||||
void nm_logging_set_prefix (const char *format, ...) _nm_printf (1, 2);
|
||||
|
||||
void nm_logging_syslog_openlog (const char *logging_backend);
|
||||
void nm_logging_syslog_openlog (const char *logging_backend, gboolean debug);
|
||||
gboolean nm_logging_syslog_enabled (void);
|
||||
|
||||
/*****************************************************************************/
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue