# HG changeset patch # User Tomas Hulata <tomas.hul...@netbox.cz> # Date 1528838460 -7200 # Tue Jun 12 23:21:00 2018 +0200 # Node ID 309407bf691d77df2d095282b3050c3d9ad3c4ae # Parent 8e6bb4e6045f7197923717831d2ddf414aa0f443 new option for timezone in syslog message
diff -r 8e6bb4e6045f -r 309407bf691d src/core/ngx_syslog.c --- a/src/core/ngx_syslog.c Thu Jun 07 20:04:22 2018 +0300 +++ b/src/core/ngx_syslog.c Tue Jun 12 23:21:00 2018 +0200 @@ -211,6 +211,9 @@ } else if (len == 10 && ngx_strncmp(p, "nohostname", 10) == 0) { peer->nohostname = 1; + } else if (len == 2 && ngx_strncmp(p, "tz", 2) == 0) { + peer->tz = 1; + } else { ngx_conf_log_error(NGX_LOG_EMERG, cf, 0, "unknown syslog parameter \"%s\"", p); @@ -238,11 +241,13 @@ pri = peer->facility * 8 + peer->severity; if (peer->nohostname) {- return ngx_sprintf(buf, "<%ui>%V %V: ", pri, &ngx_cached_syslog_time,
+ return ngx_sprintf(buf, "<%ui>%V %V: ", pri,+ peer->tz ? &ngx_cached_syslog_time_tz : &ngx_cached_syslog_time,
&peer->tag); }- return ngx_sprintf(buf, "<%ui>%V %V %V: ", pri, &ngx_cached_syslog_time,
+ return ngx_sprintf(buf, "<%ui>%V %V %V: ", pri,+ peer->tz ? &ngx_cached_syslog_time_tz : &ngx_cached_syslog_time,
&ngx_cycle->hostname, &peer->tag); } diff -r 8e6bb4e6045f -r 309407bf691d src/core/ngx_syslog.h --- a/src/core/ngx_syslog.h Thu Jun 07 20:04:22 2018 +0300 +++ b/src/core/ngx_syslog.h Tue Jun 12 23:21:00 2018 +0200 @@ -17,6 +17,7 @@ ngx_connection_t conn; unsigned busy:1; unsigned nohostname:1; + unsigned tz:1; } ngx_syslog_peer_t; diff -r 8e6bb4e6045f -r 309407bf691d src/core/ngx_times.c --- a/src/core/ngx_times.c Thu Jun 07 20:04:22 2018 +0300 +++ b/src/core/ngx_times.c Tue Jun 12 23:21:00 2018 +0200 @@ -33,6 +33,7 @@ volatile ngx_str_t ngx_cached_http_log_time; volatile ngx_str_t ngx_cached_http_log_iso8601; volatile ngx_str_t ngx_cached_syslog_time; +volatile ngx_str_t ngx_cached_syslog_time_tz; #if !(NGX_WIN32) @@ -56,6 +57,9 @@ [sizeof("1970-09-28T12:00:00+06:00")]; static u_char cached_syslog_time[NGX_TIME_SLOTS] [sizeof("Sep 28 12:00:00")]; +static u_char cached_syslog_time_tz[NGX_TIME_SLOTS] + [sizeof("1970-09-28T12:00:00+06:00")]; +static char *week[] = { "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" };
@@ -70,6 +74,7 @@ngx_cached_http_log_time.len = sizeof("28/Sep/1970:12:00:00 +0600") - 1; ngx_cached_http_log_iso8601.len = sizeof("1970-09-28T12:00:00+06:00") - 1;
ngx_cached_syslog_time.len = sizeof("Sep 28 12:00:00") - 1;+ ngx_cached_syslog_time_tz.len = sizeof("1970-09-28T12:00:00+06:00") - 1;
ngx_cached_time = &cached_time[0]; @@ -80,7 +85,7 @@ void ngx_time_update(void) { - u_char *p0, *p1, *p2, *p3, *p4; + u_char *p0, *p1, *p2, *p3, *p4, *p5; ngx_tm_t tm, gmt; time_t sec; ngx_uint_t msec; @@ -179,6 +184,15 @@ months[tm.ngx_tm_mon - 1], tm.ngx_tm_mday, tm.ngx_tm_hour, tm.ngx_tm_min, tm.ngx_tm_sec); + p5 = &cached_syslog_time_tz[slot][0]; + + (void) ngx_sprintf(p5, "%4d-%02d-%02dT%02d:%02d:%02d%c%02i:%02i", + tm.ngx_tm_year, tm.ngx_tm_mon, + tm.ngx_tm_mday, tm.ngx_tm_hour, + tm.ngx_tm_min, tm.ngx_tm_sec, + tp->gmtoff < 0 ? '-' : '+', + ngx_abs(tp->gmtoff / 60), ngx_abs(tp->gmtoff % 60)); + ngx_memory_barrier(); ngx_cached_time = tp; @@ -187,6 +201,7 @@ ngx_cached_http_log_time.data = p2; ngx_cached_http_log_iso8601.data = p3; ngx_cached_syslog_time.data = p4; + ngx_cached_syslog_time_tz.data = p5; ngx_unlock(&ngx_time_lock); } @@ -222,7 +237,7 @@ void ngx_time_sigsafe_update(void) { - u_char *p, *p2; + u_char *p, *p2, *p3; ngx_tm_t tm; time_t sec; ngx_time_t *tp; @@ -268,10 +283,20 @@ months[tm.ngx_tm_mon - 1], tm.ngx_tm_mday, tm.ngx_tm_hour, tm.ngx_tm_min, tm.ngx_tm_sec); + p3 = &cached_syslog_time_tz[slot][0]; + + (void) ngx_sprintf(p3, "%4d-%02d-%02dT%02d:%02d:%02d%c%02i:%02i", + tm.ngx_tm_year, tm.ngx_tm_mon, + tm.ngx_tm_mday, tm.ngx_tm_hour, + tm.ngx_tm_min, tm.ngx_tm_sec, + tp->gmtoff < 0 ? '-' : '+', + ngx_abs(tp->gmtoff / 60), ngx_abs(tp->gmtoff % 60)); + ngx_memory_barrier(); ngx_cached_err_log_time.data = p; ngx_cached_syslog_time.data = p2; + ngx_cached_syslog_time_tz.data = p3; ngx_unlock(&ngx_time_lock); } diff -r 8e6bb4e6045f -r 309407bf691d src/core/ngx_times.h --- a/src/core/ngx_times.h Thu Jun 07 20:04:22 2018 +0300 +++ b/src/core/ngx_times.h Tue Jun 12 23:21:00 2018 +0200 @@ -41,6 +41,7 @@ extern volatile ngx_str_t ngx_cached_http_log_time; extern volatile ngx_str_t ngx_cached_http_log_iso8601; extern volatile ngx_str_t ngx_cached_syslog_time; +extern volatile ngx_str_t ngx_cached_syslog_time_tz; /* * milliseconds elapsed since some unspecified point in the past -- S pozdravom Tomas Hulata /vedoucí úseku systemových inženýrů/ tel: +420 733 163 238 NETBOX SMART Comp. a.s., Kubíčkova 8, 635 00, Brno Tel./fax: +420 544 423 411, www.netbox.cz
smime.p7s
Description: S/MIME Cryptographic Signature
_______________________________________________ nginx-devel mailing list nginx-devel@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-devel