Mercurial > hg > nginx-vendor-0-5
comparison src/core/ngx_log.h @ 92:45945fa8b8ba NGINX_0_2_0
nginx 0.2.0
*) The pid-file names used during online upgrade was changed and now is
not required a manual rename operation. The old master process adds
the ".oldbin" suffix to its pid-file and executes a new binary file.
The new master process creates usual pid-file without the ".newbin"
suffix. If the master process exits, then old master process renames
back its pid-file with the ".oldbin" suffix to the pid-file without
suffix.
*) Change: the "worker_connections" directive, new name of the
"connections" directive; now the directive specifies maximum number
of connections, but not maximum socket descriptor number.
*) Feature: SSL supports the session cache inside one worker process.
*) Feature: the "satisfy_any" directive.
*) Change: the ngx_http_access_module and ngx_http_auth_basic_module do
not run for subrequests.
*) Feature: the "worker_rlimit_nofile" and "worker_rlimit_sigpending"
directives.
*) Bugfix: if all backend using in load-balancing failed after one
error, then nginx did not try do connect to them during 60 seconds.
*) Bugfix: in IMAP/POP3 command argument parsing.
Thanks to Rob Mueller.
*) Bugfix: errors while using SSL in IMAP/POP3 proxy.
*) Bugfix: errors while using SSI and gzipping.
*) Bugfix: the "Expires" and "Cache-Control" header lines were omitted
from the 304 responses.
Thanks to Alexandr Kukushkin.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Fri, 23 Sep 2005 00:00:00 +0400 |
parents | 5db440287648 |
children | 003bd800ec2a |
comparison
equal
deleted
inserted
replaced
91:c3eee83ea942 | 92:45945fa8b8ba |
---|---|
70 #if (NGX_HAVE_GCC_VARIADIC_MACROS) | 70 #if (NGX_HAVE_GCC_VARIADIC_MACROS) |
71 | 71 |
72 #define NGX_HAVE_VARIADIC_MACROS 1 | 72 #define NGX_HAVE_VARIADIC_MACROS 1 |
73 | 73 |
74 #define ngx_log_error(level, log, args...) \ | 74 #define ngx_log_error(level, log, args...) \ |
75 if (log->log_level >= level) ngx_log_error_core(level, log, args) | 75 if ((log)->log_level >= level) ngx_log_error_core(level, log, args) |
76 | 76 |
77 void ngx_log_error_core(ngx_uint_t level, ngx_log_t *log, ngx_err_t err, | 77 void ngx_log_error_core(ngx_uint_t level, ngx_log_t *log, ngx_err_t err, |
78 const char *fmt, ...); | 78 const char *fmt, ...); |
79 | 79 |
80 #define ngx_log_debug(level, log, args...) \ | 80 #define ngx_log_debug(level, log, args...) \ |
81 if (log->log_level & level) \ | 81 if ((log)->log_level & level) \ |
82 ngx_log_error_core(NGX_LOG_DEBUG, log, args) | 82 ngx_log_error_core(NGX_LOG_DEBUG, log, args) |
83 | 83 |
84 /*********************************/ | 84 /*********************************/ |
85 | 85 |
86 #elif (NGX_HAVE_C99_VARIADIC_MACROS) | 86 #elif (NGX_HAVE_C99_VARIADIC_MACROS) |
87 | 87 |
88 #define NGX_HAVE_VARIADIC_MACROS 1 | 88 #define NGX_HAVE_VARIADIC_MACROS 1 |
89 | 89 |
90 #define ngx_log_error(level, log, ...) \ | 90 #define ngx_log_error(level, log, ...) \ |
91 if (log->log_level >= level) ngx_log_error_core(level, log, __VA_ARGS__) | 91 if ((log)->log_level >= level) ngx_log_error_core(level, log, __VA_ARGS__) |
92 | 92 |
93 void ngx_log_error_core(ngx_uint_t level, ngx_log_t *log, ngx_err_t err, | 93 void ngx_log_error_core(ngx_uint_t level, ngx_log_t *log, ngx_err_t err, |
94 const char *fmt, ...); | 94 const char *fmt, ...); |
95 | 95 |
96 #define ngx_log_debug(level, log, ...) \ | 96 #define ngx_log_debug(level, log, ...) \ |
97 if (log->log_level & level) \ | 97 if ((log)->log_level & level) \ |
98 ngx_log_error_core(NGX_LOG_DEBUG, log, __VA_ARGS__) | 98 ngx_log_error_core(NGX_LOG_DEBUG, log, __VA_ARGS__) |
99 | 99 |
100 /*********************************/ | 100 /*********************************/ |
101 | 101 |
102 #else /* NO VARIADIC MACROS */ | 102 #else /* NO VARIADIC MACROS */ |
132 | 132 |
133 | 133 |
134 #else /* NO VARIADIC MACROS */ | 134 #else /* NO VARIADIC MACROS */ |
135 | 135 |
136 #define ngx_log_debug0(level, log, err, fmt) \ | 136 #define ngx_log_debug0(level, log, err, fmt) \ |
137 if (log->log_level & level) \ | 137 if ((log)->log_level & level) \ |
138 ngx_log_debug_core(log, err, fmt) | 138 ngx_log_debug_core(log, err, fmt) |
139 | 139 |
140 #define ngx_log_debug1(level, log, err, fmt, arg1) \ | 140 #define ngx_log_debug1(level, log, err, fmt, arg1) \ |
141 if (log->log_level & level) \ | 141 if ((log)->log_level & level) \ |
142 ngx_log_debug_core(log, err, fmt, arg1) | 142 ngx_log_debug_core(log, err, fmt, arg1) |
143 | 143 |
144 #define ngx_log_debug2(level, log, err, fmt, arg1, arg2) \ | 144 #define ngx_log_debug2(level, log, err, fmt, arg1, arg2) \ |
145 if (log->log_level & level) \ | 145 if ((log)->log_level & level) \ |
146 ngx_log_debug_core(log, err, fmt, arg1, arg2) | 146 ngx_log_debug_core(log, err, fmt, arg1, arg2) |
147 | 147 |
148 #define ngx_log_debug3(level, log, err, fmt, arg1, arg2, arg3) \ | 148 #define ngx_log_debug3(level, log, err, fmt, arg1, arg2, arg3) \ |
149 if (log->log_level & level) \ | 149 if ((log)->log_level & level) \ |
150 ngx_log_debug_core(log, err, fmt, arg1, arg2, arg3) | 150 ngx_log_debug_core(log, err, fmt, arg1, arg2, arg3) |
151 | 151 |
152 #define ngx_log_debug4(level, log, err, fmt, arg1, arg2, arg3, arg4) \ | 152 #define ngx_log_debug4(level, log, err, fmt, arg1, arg2, arg3, arg4) \ |
153 if (log->log_level & level) \ | 153 if ((log)->log_level & level) \ |
154 ngx_log_debug_core(log, err, fmt, arg1, arg2, arg3, arg4) | 154 ngx_log_debug_core(log, err, fmt, arg1, arg2, arg3, arg4) |
155 | 155 |
156 #define ngx_log_debug5(level, log, err, fmt, arg1, arg2, arg3, arg4, arg5) \ | 156 #define ngx_log_debug5(level, log, err, fmt, arg1, arg2, arg3, arg4, arg5) \ |
157 if (log->log_level & level) \ | 157 if ((log)->log_level & level) \ |
158 ngx_log_debug_core(log, err, fmt, arg1, arg2, arg3, arg4, arg5) | 158 ngx_log_debug_core(log, err, fmt, arg1, arg2, arg3, arg4, arg5) |
159 | 159 |
160 #define ngx_log_debug6(level, log, err, fmt, \ | 160 #define ngx_log_debug6(level, log, err, fmt, \ |
161 arg1, arg2, arg3, arg4, arg5, arg6) \ | 161 arg1, arg2, arg3, arg4, arg5, arg6) \ |
162 if (log->log_level & level) \ | 162 if ((log)->log_level & level) \ |
163 ngx_log_debug_core(log, err, fmt, arg1, arg2, arg3, arg4, arg5, arg6) | 163 ngx_log_debug_core(log, err, fmt, arg1, arg2, arg3, arg4, arg5, arg6) |
164 | 164 |
165 #define ngx_log_debug7(level, log, err, fmt, \ | 165 #define ngx_log_debug7(level, log, err, fmt, \ |
166 arg1, arg2, arg3, arg4, arg5, arg6, arg7) \ | 166 arg1, arg2, arg3, arg4, arg5, arg6, arg7) \ |
167 if (log->log_level & level) \ | 167 if ((log)->log_level & level) \ |
168 ngx_log_debug_core(log, err, fmt, \ | 168 ngx_log_debug_core(log, err, fmt, \ |
169 arg1, arg2, arg3, arg4, arg5, arg6, arg7) | 169 arg1, arg2, arg3, arg4, arg5, arg6, arg7) |
170 | 170 |
171 #define ngx_log_debug8(level, log, err, fmt, \ | 171 #define ngx_log_debug8(level, log, err, fmt, \ |
172 arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) \ | 172 arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) \ |
173 if (log->log_level & level) \ | 173 if ((log)->log_level & level) \ |
174 ngx_log_debug_core(log, err, fmt, \ | 174 ngx_log_debug_core(log, err, fmt, \ |
175 arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) | 175 arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) |
176 | 176 |
177 #endif | 177 #endif |
178 | 178 |