Opened 8 years ago

Closed 5 years ago

#1123 closed enhancement (wontfix)

Include timezone in error logs

Reported by: joshuaspence@… Owned by:
Priority: minor Milestone:
Component: nginx-core Version: 1.9.x
Keywords: logging Cc:
uname -a: Linux ip-10-157-108-77 4.4.0-38-generic #57-Ubuntu SMP Tue Sep 6 15:42:33 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
nginx -V: nginx version: nginx/1.10.1
built with OpenSSL 1.0.2g 1 Mar 2016
TLS SNI support enabled
configure arguments: --with-cc-opt='-g -O2 -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2' --with-ld-opt='-Wl,-Bsymbolic-functions -Wl,-z,relro -Wl,-z,now' --prefix=/usr/share/nginx --conf-path=/etc/nginx/nginx.conf --http-log-path=/var/log/nginx/access.log --error-log-path=/var/log/nginx/error.log --lock-path=/var/lock/nginx.lock --pid-path=/run/nginx.pid --modules-path=/usr/lib/nginx/modules --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-proxy-temp-path=/var/lib/nginx/proxy --http-scgi-temp-path=/var/lib/nginx/scgi --http-uwsgi-temp-path=/var/lib/nginx/uwsgi --with-debug --with-pcre-jit --with-ipv6 --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module --with-http_auth_request_module --with-http_v2_module --with-http_dav_module --with-http_slice_module --with-threads --with-http_addition_module --with-http_flv_module --with-http_geoip_module=dynamic --with-http_gunzip_module --with-http_gzip_static_module --with-http_image_filter_module=dynamic --with-http_mp4_module --with-http_perl_module=dynamic --with-http_random_index_module --with-http_secure_link_module --with-http_sub_module --with-http_xslt_module=dynamic --with-mail=dynamic --with-mail_ssl_module --with-stream=dynamic --with-stream_ssl_module --add-dynamic-module=/build/nginx-STHBxL/nginx-1.10.1/debian/modules/headers-more-nginx-module --add-dynamic-module=/build/nginx-STHBxL/nginx-1.10.1/debian/modules/nginx-auth-pam --add-dynamic-module=/build/nginx-STHBxL/nginx-1.10.1/debian/modules/nginx-cache-purge --add-module=/build/nginx-STHBxL/nginx-1.10.1/debian/modules/nginx-dav-ext-module --add-dynamic-module=/build/nginx-STHBxL/nginx-1.10.1/debian/modules/nginx-development-kit --add-dynamic-module=/build/nginx-STHBxL/nginx-1.10.1/debian/modules/nginx-echo --add-dynamic-module=/build/nginx-STHBxL/nginx-1.10.1/debian/modules/ngx-fancyindex --add-dynamic-module=/build/nginx-STHBxL/nginx-1.10.1/debian/modules/nchan --add-dynamic-module=/build/nginx-STHBxL/nginx-1.10.1/debian/modules/nginx-lua --add-dynamic-module=/build/nginx-STHBxL/nginx-1.10.1/debian/modules/nginx-upload-progress --add-dynamic-module=/build/nginx-STHBxL/nginx-1.10.1/debian/modules/nginx-upstream-fair --add-dynamic-module=/build/nginx-STHBxL/nginx-1.10.1/debian/modules/ngx_http_substitutions_filter_module

Description

Currently, nginx access logs include a timestamp (via $time_local) which also contains a timezone. Nginx error logs, on the other hand, do not include a timezone, but rather the timestamp seems to always be rendered in the same timezone as the target system. This makes it difficult to unambigiously parse the timestamp on nginx error logs in a log aggregator such as Logstash.

It would be great if nginx error logs could include the timezone in addition to the timestamp.

Change History (2)

comment:1 by Artem Russakovskii, 5 years ago

Just found this to be the case, similar to apache. Kind of dumbfounded why the date formats differ between these log types. Is there a chance they'll be standardized with the time zone in a future release?

comment:2 by Maxim Dounin, 5 years ago

Resolution: wontfix
Status: newclosed

The access log format uses time with timezone by default for compatibility reasons, the format it uses dates back to NCSA HTTPd, see the Wikipedia article here:

https://en.wikipedia.org/wiki/Common_Log_Format

The error log format is nginx's own, and it drops the timezone which is not needed in most cases and only distracts attention from the logs itself.

Currently there are no plans to change error log time format.

Note: See TracTickets for help on using tickets.