diff --git a/plugins/out_file/file.c b/plugins/out_file/file.c index 77baf6be8..04c519d5a 100644 --- a/plugins/out_file/file.c +++ b/plugins/out_file/file.c @@ -238,10 +238,20 @@ static int template_output_write(struct flb_file_conf *ctx, /* * Right now we treat "{time}" specially and fill the placeholder - * with the metadata timestamp (formatted as float). + * with the metadata timestamp. */ if (!strncmp(key, "time", size)) { - fprintf(fp, "%f", flb_time_to_double(tm)); + struct tm tm_local; + char buf[32]; + if (localtime_r(&tm->tm.tv_sec, &tm_local) == NULL) { + flb_plg_error(ctx->ins, "localtime_r failed"); + return -1; + } + if (strftime(buf, sizeof(buf), "%b %d %H:%M:%S", &tm_local) == 0) { + flb_plg_error(ctx->ins, "strftime failed"); + return -1; + } + fputs(buf, fp); return 0; }