]> git.ipfire.org Git - thirdparty/lxc.git/commitdiff
log: use lxc_unix_epoch_to_utc()
authorChristian Brauner <christian.brauner@ubuntu.com>
Mon, 28 Nov 2016 21:19:02 +0000 (22:19 +0100)
committerChristian Brauner <christian.brauner@ubuntu.com>
Mon, 28 Nov 2016 21:22:14 +0000 (22:22 +0100)
This allows us to generate nice timestamps in a thread-safe manner without
relying on locale touching functions from any libc.

Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
src/lxc/log.c

index 4880f7bac2c2f85eabe48879680a161f0d8f9cbb..61f0cdc86ed8a8c19b9045e6d2fe4c903ff6db70 100644 (file)
@@ -203,10 +203,9 @@ static int log_append_logfile(const struct lxc_log_appender *appender,
                              struct lxc_log_event *event)
 {
        char buffer[LXC_LOG_BUFFER_SIZE];
-       struct timespec zero_timespec = {0};
-       int ret, n;
+       char date_time[LXC_LOG_TIME_SIZE];
+       int n;
        int fd_to_use = -1;
-       char nanosec[__LXC_NUMSTRLEN];
 
 #ifndef NO_LXC_CONF
        if (!lxc_log_use_global_fd && current_config)
@@ -219,19 +218,15 @@ static int log_append_logfile(const struct lxc_log_appender *appender,
        if (fd_to_use == -1)
                return 0;
 
-       ret = snprintf(nanosec, __LXC_NUMSTRLEN, "%ld", event->timestamp.tv_nsec);
-       if (ret < 0 || ret >= LXC_LOG_TIME_SIZE)
+       if (lxc_unix_epoch_to_utc(date_time, LXC_LOG_TIME_SIZE, &event->timestamp) < 0)
                return 0;
 
        n = snprintf(buffer, sizeof(buffer),
-                       "%15s%s%s [ %.0f.%.6s ] %-8s %s - %s:%s:%d - ",
+                       "%15s%s%s %s %-8s %s - %s:%s:%d - ",
                        log_prefix,
                        log_vmname ? " " : "",
                        log_vmname ? log_vmname : "",
-                       /* sec_since_epoch: Safely convert time_t type to
-                        * double. */
-                       difftime(event->timestamp.tv_sec, zero_timespec.tv_sec),
-                       nanosec,
+                       date_time,
                        lxc_log_priority_to_string(event->priority),
                        event->category,
                        event->locinfo->file, event->locinfo->func,