src/plugin.[ch]: Change the "time" member to "cdtime_t".
[collectd.git] / src / logfile.c
index 71ddec6..60fb5d9 100644 (file)
@@ -39,14 +39,14 @@ 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);
 
@@ -80,11 +80,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,32 +92,33 @@ 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;
        struct tm timestamp_tm;
        char timestamp_str[64];
-       char level_str[16];
+       char level_str[16] = "";
 
-       if (print_level)
+       if (print_severity)
        {
                switch (severity)
                {
                case LOG_ERR:
-                       snprintf(level_str, 15, "[error] ");
+                       snprintf(level_str, sizeof (level_str), "[error] ");
                        break;  
                case LOG_WARNING:
-                       snprintf(level_str, 15, "[warning] ");
+                       snprintf(level_str, sizeof (level_str), "[warning] ");
                        break;
                case LOG_NOTICE:
-                       snprintf(level_str, 15, "[notice] ");
+                       snprintf(level_str, sizeof (level_str), "[notice] ");
                        break;  
                case LOG_INFO:
-                       snprintf(level_str, 15, "[info] ");
+                       snprintf(level_str, sizeof (level_str), "[info] ");
                        break;  
                case LOG_DEBUG:
-                       snprintf(level_str, 15, "[debug] ");
+                       snprintf(level_str, sizeof (level_str), "[debug] ");
                        break;  
                default:
                        break;
@@ -126,7 +127,8 @@ static void logfile_print (const char *msg, int severity, time_t timestamp_time)
 
        if (print_timestamp)
        {
-               localtime_r (&timestamp_time, &timestamp_tm);
+               time_t tt = CDTIME_T_TO_TIME_T (timestamp_time);
+               localtime_r (&tt, &timestamp_tm);
 
                strftime (timestamp_str, sizeof (timestamp_str), "%Y-%m-%d %H:%M:%S",
                                &timestamp_tm);
@@ -160,12 +162,9 @@ static void logfile_print (const char *msg, int severity, time_t timestamp_time)
        else
        {
                if (print_timestamp)
-                       fprintf (fh, "[%s] %s%s\n", timestamp_str,
-                                       print_level ? level_str : "",
-                                       msg);
+                       fprintf (fh, "[%s] %s%s\n", timestamp_str, level_str, msg);
                else
-                       fprintf (fh, "%s%s\n", print_level ? level_str : "",
-                                               msg);
+                       fprintf (fh, "%s%s\n", level_str, msg);
 
                if (do_close != 0)
                        fclose (fh);
@@ -182,7 +181,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,
@@ -221,7 +220,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 */