X-Git-Url: https://git.octo.it/?a=blobdiff_plain;f=src%2Flogfile.c;h=ded7732b00ce22fcc648cbb8ae2207c53f26db94;hb=33e60ef35f745c56b1a5936272b1dd8b0cf63d12;hp=6da13df2e688af2e1d53c13f14b87ca5b92ef843;hpb=cbc244bc1f4493784282ba6c5f8efc33158f18f1;p=collectd.git diff --git a/src/logfile.c b/src/logfile.c index 6da13df2..ded7732b 100644 --- a/src/logfile.c +++ b/src/logfile.c @@ -39,37 +39,22 @@ static pthread_mutex_t file_lock = PTHREAD_MUTEX_INITIALIZER; static char *log_file = NULL; static int print_timestamp = 1; -static int print_level = 0; +static int print_severity = 0; static const char *config_keys[] = { "LogLevel", "File", "Timestamp", - "PrintLevel" + "PrintSeverity" }; static int config_keys_num = STATIC_ARRAY_SIZE (config_keys); static int logfile_config (const char *key, const char *value) { if (0 == strcasecmp (key, "LogLevel")) { - if ((0 == strcasecmp (value, "emerg")) - || (0 == strcasecmp (value, "alert")) - || (0 == strcasecmp (value, "crit")) - || (0 == strcasecmp (value, "err"))) - log_level = LOG_ERR; - else if (0 == strcasecmp (value, "warning")) - log_level = LOG_WARNING; - else if (0 == strcasecmp (value, "notice")) - log_level = LOG_NOTICE; - else if (0 == strcasecmp (value, "info")) - log_level = LOG_INFO; -#if COLLECT_DEBUG - else if (0 == strcasecmp (value, "debug")) - log_level = LOG_DEBUG; -#endif /* COLLECT_DEBUG */ - else - return 1; + log_level = parse_log_severity(value); + if (log_level == -1) return 1; /* to keep previous behaviour */ } else if (0 == strcasecmp (key, "File")) { sfree (log_file); @@ -80,11 +65,11 @@ static int logfile_config (const char *key, const char *value) print_timestamp = 0; else print_timestamp = 1; - } else if (0 == strcasecmp(key, "PrintLevel")) { + } else if (0 == strcasecmp(key, "PrintSeverity")) { if (IS_FALSE (value)) - print_level = 0; + print_severity = 0; else - print_level = 1; + print_severity = 1; } else { return -1; @@ -92,7 +77,8 @@ static int logfile_config (const char *key, const char *value) return 0; } /* int logfile_config (const char *, const char *) */ -static void logfile_print (const char *msg, int severity, time_t timestamp_time) +static void logfile_print (const char *msg, int severity, + cdtime_t timestamp_time) { FILE *fh; int do_close = 0; @@ -100,7 +86,7 @@ static void logfile_print (const char *msg, int severity, time_t timestamp_time) char timestamp_str[64]; char level_str[16] = ""; - if (print_level) + if (print_severity) { switch (severity) { @@ -126,7 +112,8 @@ static void logfile_print (const char *msg, int severity, time_t timestamp_time) if (print_timestamp) { - localtime_r (×tamp_time, ×tamp_tm); + time_t tt = CDTIME_T_TO_TIME_T (timestamp_time); + localtime_r (&tt, ×tamp_tm); strftime (timestamp_str, sizeof (timestamp_str), "%Y-%m-%d %H:%M:%S", ×tamp_tm); @@ -179,7 +166,7 @@ static void logfile_log (int severity, const char *msg, if (severity > log_level) return; - logfile_print (msg, severity, time (NULL)); + logfile_print (msg, severity, cdtime ()); } /* void logfile_log (int, const char *) */ static int logfile_notification (const notification_t *n, @@ -218,7 +205,7 @@ static int logfile_notification (const notification_t *n, buf[sizeof (buf) - 1] = '\0'; logfile_print (buf, LOG_INFO, - (n->time > 0) ? n->time : time (NULL)); + (n->time != 0) ? n->time : cdtime ()); return (0); } /* int logfile_notification */