diff --git a/src/backend/utils/error/elog.c b/src/backend/utils/error/elog.c index 3e883887ee..2a26fe7fd4 100644 --- a/src/backend/utils/error/elog.c +++ b/src/backend/utils/error/elog.c @@ -42,7 +42,7 @@ * * * IDENTIFICATION - * $PostgreSQL: pgsql/src/backend/utils/error/elog.c,v 1.160 2005/06/10 16:23:10 neilc Exp $ + * $PostgreSQL: pgsql/src/backend/utils/error/elog.c,v 1.161 2005/06/10 20:48:54 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -1333,10 +1333,7 @@ log_line_prefix(StringInfo buf) /* go to char after '%' */ i++; if (i >= format_len) - { - /* format error - ignore it */ - break; - } + break; /* format error - ignore it */ /* process the option */ switch (Log_line_prefix[i]) @@ -1377,8 +1374,18 @@ log_line_prefix(StringInfo buf) break; case 'm': { + /* + * Note: for %m, %t, and %s we deliberately use the + * C library's strftime/localtime, and not the + * equivalent functions from src/timezone. This + * ensures that all backends will report log entries + * in the same timezone, namely whatever C-library + * setting they inherit from the postmaster. If we + * used src/timezone then local settings of the + * TimeZone GUC variable would confuse the log. + */ time_t stamp_time; - char strfbuf[128], msbuf[5]; + char strfbuf[128], msbuf[8]; struct timeval tv; gettimeofday(&tv, NULL); @@ -1388,15 +1395,14 @@ log_line_prefix(StringInfo buf) /* leave room for milliseconds... */ /* Win32 timezone names are too long so don't print them. */ #ifndef WIN32 - "%Y-%m-%d %H:%M:%S %Z", + "%Y-%m-%d %H:%M:%S %Z", #else - "%Y-%m-%d %H:%M:%S ", + "%Y-%m-%d %H:%M:%S ", #endif - localtime(&stamp_time)); + localtime(&stamp_time)); /* 'paste' milliseconds into place... */ - sprintf(msbuf, ".%03d", - (int)(tv.tv_usec/1000)); + sprintf(msbuf, ".%03d", (int) (tv.tv_usec/1000)); strncpy(strfbuf+19, msbuf, 4); appendStringInfoString(buf, strfbuf); @@ -1404,16 +1410,6 @@ log_line_prefix(StringInfo buf) break; case 't': { - /* - * Note: for %t and %s we deliberately use the C - * library's strftime/localtime, and not the - * equivalent functions from src/timezone. This - * ensures that all backends will report log entries - * in the same timezone, namely whatever C-library - * setting they inherit from the postmaster. If we - * used src/timezone then local settings of the - * TimeZone GUC variable would confuse the log. - */ time_t stamp_time = time(NULL); char strfbuf[128];