Ticket #373 (new enhancement)

Opened 3 years ago

Last modified 14 months ago

ISO 8601 date format in log files

Reported by: dev at tallowitz.dot ch Owned by: jan
Priority: normal Milestone:
Component: mod_accesslog Version:
Severity: normal Keywords:
Cc: Blocked By:
Need User Feedback: Blocking:

Description

Unambiguous, language independent, and space-saving - very important in log files. See also: http://www.iso.org/iso/en/prods-services/popstds/datesandtime.html

Patch for mod_accesslog.c (version 1.3.16):

--- mod_accesslog.c.orig        2005-11-17 21:32:41.000000000 +0100
+++ mod_accesslog.c     2005-11-17 21:33:47.000000000 +0100
@@ -655,9 +655,9 @@
 #if defined(HAVE_STRUCT_TM_GMTOFF)
 # ifdef HAVE_LOCALTIME_R
                                        localtime_r(&(srv->cur_ts), &tm);
-                                       strftime(p->conf.ts_accesslog_str->ptr, p->conf.ts_accesslog_str->size - 1, "[%d/%b/%Y:%H:%M:%S ", &tm);
+                                       strftime(p->conf.ts_accesslog_str->ptr, p->conf.ts_accesslog_str->size - 1, "[%FT%T", &tm);
 # else
-                                       strftime(p->conf.ts_accesslog_str->ptr, p->conf.ts_accesslog_str->size - 1, "[%d/%b/%Y:%H:%M:%S ", localtime_r(&(srv->cur_ts)));
+                                       strftime(p->conf.ts_accesslog_str->ptr, p->conf.ts_accesslog_str->size - 1, "[%FT%T", localtime_r(&(srv->cur_ts)));
 # endif
                                        p->conf.ts_accesslog_str->used = strlen(p->conf.ts_accesslog_str->ptr) + 1;
 
@@ -677,9 +677,9 @@
 #else
 #ifdef HAVE_GMTIME_R
                                        gmtime_r(&(srv->cur_ts), &tm);
-                                       strftime(p->conf.ts_accesslog_str->ptr, p->conf.ts_accesslog_str->size - 1, "[%d/%b/%Y:%H:%M:%S +0000]", &tm);
+                                       strftime(p->conf.ts_accesslog_str->ptr, p->conf.ts_accesslog_str->size - 1, "[%FT%T+0000]", &tm);
 #else
-                                       strftime(p->conf.ts_accesslog_str->ptr, p->conf.ts_accesslog_str->size - 1, "[%d/%b/%Y:%H:%M:%S +0000]", gmtime(&(srv->cur_ts)));
+                                       strftime(p->conf.ts_accesslog_str->ptr, p->conf.ts_accesslog_str->size - 1, "[%FT%T+0000]", gmtime(&(srv->cur_ts)));
 #endif
                                        p->conf.ts_accesslog_str->used = strlen(p->conf.ts_accesslog_str->ptr) + 1;
 #endif

Attachments

Change History

Changed 2 years ago by moo

looks good, mysql goes for iso date format too.

from man:

%F     Equivalent to %Y-%m-%d (the ISO 8601 date format). (C99)
%F conversion is in C99 and POSIX 1003.1-2001.

%T     The time in 24-hour notation (%H:%M:%S). (SU)
Single Unix Specification (marked SU)

anyone is familiar with %F %T compatibility? take care about cygwin/mingw build.

Add/Change #373 (ISO 8601 date format in log files)

Author



Change Properties
<Author field>
Action
as new
 
Note: See TracTickets for help on using tickets.