mirror of
https://git.proxmox.com/git/mirror_corosync
synced 2025-10-04 07:57:45 +00:00
Add support for debug level trace in config file
Signed-off-by: Jan Friesse <jfriesse@redhat.com> Reviewed-by: Fabio M. Di Nitto <fdinitto@redhat.com>
This commit is contained in:
parent
8a2e936381
commit
5717655019
@ -83,7 +83,7 @@ let common_logging =
|
||||
kv "to_syslog" /yes|no|on|off/
|
||||
|kv "to_stderr" /yes|no|on|off/
|
||||
|kv "to_logfile" /yes|no|on|off/
|
||||
|kv "debug" /yes|no|on|off/
|
||||
|kv "debug" /yes|no|on|off|trace/
|
||||
|kv "logfile_priority" /alert|crit|debug|emerg|err|info|notice|warning/
|
||||
|kv "syslog_priority" /alert|crit|debug|emerg|err|info|notice|warning/
|
||||
|kv "syslog_facility" /daemon|local0|local1|local2|local3|local4|local5|local6|local7/
|
||||
|
@ -417,14 +417,20 @@ static int corosync_main_config_set (
|
||||
|
||||
snprintf(key_name, MAP_KEYNAME_MAXLEN, "%s.%s", path, "debug");
|
||||
if (map_get_string(key_name, &value) == CS_OK) {
|
||||
if (strcmp (value, "trace") == 0) {
|
||||
if (logsys_config_debug_set (subsys, LOGSYS_DEBUG_TRACE) < 0) {
|
||||
error_reason = "unable to set debug trace";
|
||||
goto parse_error;
|
||||
}
|
||||
} else
|
||||
if (strcmp (value, "on") == 0) {
|
||||
if (logsys_config_debug_set (subsys, 1) < 0) {
|
||||
if (logsys_config_debug_set (subsys, LOGSYS_DEBUG_ON) < 0) {
|
||||
error_reason = "unable to set debug on";
|
||||
goto parse_error;
|
||||
}
|
||||
} else
|
||||
if (strcmp (value, "off") == 0) {
|
||||
if (logsys_config_debug_set (subsys, 0) < 0) {
|
||||
if (logsys_config_debug_set (subsys, LOGSYS_DEBUG_OFF) < 0) {
|
||||
error_reason = "unable to set debug off";
|
||||
goto parse_error;
|
||||
}
|
||||
|
@ -88,7 +88,7 @@ struct logsys_logger {
|
||||
char subsys[LOGSYS_MAX_SUBSYS_NAMELEN]; /* subsystem name */
|
||||
char *logfile; /* log to file */
|
||||
unsigned int mode; /* subsystem mode */
|
||||
unsigned int debug; /* debug on|off */
|
||||
unsigned int debug; /* debug on|off|trace */
|
||||
int syslog_priority; /* priority */
|
||||
int logfile_priority; /* priority to file */
|
||||
int init_status; /* internal field to handle init queues
|
||||
@ -344,7 +344,7 @@ int _logsys_system_setup(
|
||||
"%s", mainsystem);
|
||||
|
||||
logsys_loggers[i].mode = mode;
|
||||
logsys_loggers[i].debug = 0;
|
||||
logsys_loggers[i].debug = LOGSYS_DEBUG_OFF;
|
||||
logsys_loggers[i].file_idx = 0;
|
||||
logsys_loggers[i].logfile_priority = syslog_priority;
|
||||
logsys_loggers[i].syslog_priority = syslog_priority;
|
||||
@ -709,9 +709,19 @@ static void _logsys_config_apply_per_file(int32_t s, const char *filename)
|
||||
QB_LOG_FILTER_FILE, filename, LOG_TRACE);
|
||||
}
|
||||
|
||||
if (logsys_loggers[s].debug) {
|
||||
syslog_priority = LOG_DEBUG;
|
||||
logfile_priority = LOG_DEBUG;
|
||||
if (logsys_loggers[s].debug != LOGSYS_DEBUG_OFF) {
|
||||
switch (logsys_loggers[s].debug) {
|
||||
case LOGSYS_DEBUG_ON:
|
||||
syslog_priority = LOG_DEBUG;
|
||||
logfile_priority = LOG_DEBUG;
|
||||
break;
|
||||
case LOGSYS_DEBUG_TRACE:
|
||||
syslog_priority = LOG_TRACE;
|
||||
logfile_priority = LOG_TRACE;
|
||||
break;
|
||||
default:
|
||||
assert(0);
|
||||
}
|
||||
}
|
||||
qb_log_filter_ctl(QB_LOG_SYSLOG, QB_LOG_FILTER_ADD,
|
||||
QB_LOG_FILTER_FILE, filename,
|
||||
|
@ -72,6 +72,7 @@ extern "C" {
|
||||
#define LOGSYS_LEVEL_NOTICE LOG_NOTICE
|
||||
#define LOGSYS_LEVEL_INFO LOG_INFO
|
||||
#define LOGSYS_LEVEL_DEBUG LOG_DEBUG
|
||||
#define LOGSYS_LEVEL_TRACE LOG_TRACE
|
||||
|
||||
/*
|
||||
* logsys_logger bits
|
||||
@ -83,6 +84,13 @@ extern "C" {
|
||||
#define LOGSYS_MAX_SUBSYS_NAMELEN 64
|
||||
#define LOGSYS_MAX_PERROR_MSG_LEN 128
|
||||
|
||||
/*
|
||||
* Debug levels
|
||||
*/
|
||||
#define LOGSYS_DEBUG_OFF 0
|
||||
#define LOGSYS_DEBUG_ON 1
|
||||
#define LOGSYS_DEBUG_TRACE 2
|
||||
|
||||
#ifndef LOGSYS_UTILS_ONLY
|
||||
|
||||
/*
|
||||
|
@ -578,7 +578,8 @@ The default is: info.
|
||||
|
||||
.TP
|
||||
debug
|
||||
This specifies whether debug output is logged for this particular logger.
|
||||
This specifies whether debug output is logged for this particular logger. Also can contain
|
||||
value trace, what is highest level of debug informations.
|
||||
|
||||
The default is off.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user