annotate src/core/ngx_log.h @ 658:5a4401b9551b NGINX_1_1_13

nginx 1.1.13 *) Feature: the "TLSv1.1" and "TLSv1.2" parameters of the "ssl_protocols" directive. *) Bugfix: the "limit_req" directive parameters were not inherited correctly; the bug had appeared in 1.1.12. *) Bugfix: the "proxy_redirect" directive incorrectly processed "Refresh" header if regular expression were used. *) Bugfix: the "proxy_cache_use_stale" directive with "error" parameter did not return answer from cache if there were no live upstreams. *) Bugfix: the "worker_cpu_affinity" directive might not work. *) Bugfix: nginx could not be built on Solaris; the bug had appeared in 1.1.12. *) Bugfix: in the ngx_http_mp4_module.
author Igor Sysoev <http://sysoev.ru>
date Mon, 16 Jan 2012 00:00:00 +0400
parents f200748c0ac8
children d0f7a625f27c
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
1
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
2 /*
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
3 * Copyright (C) Igor Sysoev
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
4 */
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
5
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
6
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
7 #ifndef _NGX_LOG_H_INCLUDED_
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
8 #define _NGX_LOG_H_INCLUDED_
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
9
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
10
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
11 #include <ngx_config.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
12 #include <ngx_core.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
13
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
14
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
15 #define NGX_LOG_STDERR 0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
16 #define NGX_LOG_EMERG 1
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
17 #define NGX_LOG_ALERT 2
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
18 #define NGX_LOG_CRIT 3
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
19 #define NGX_LOG_ERR 4
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
20 #define NGX_LOG_WARN 5
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
21 #define NGX_LOG_NOTICE 6
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
22 #define NGX_LOG_INFO 7
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
23 #define NGX_LOG_DEBUG 8
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
24
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
25 #define NGX_LOG_DEBUG_CORE 0x010
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
26 #define NGX_LOG_DEBUG_ALLOC 0x020
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
27 #define NGX_LOG_DEBUG_MUTEX 0x040
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
28 #define NGX_LOG_DEBUG_EVENT 0x080
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
29 #define NGX_LOG_DEBUG_HTTP 0x100
290
f745bf973510 nginx 0.5.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
30 #define NGX_LOG_DEBUG_MAIL 0x200
194
003bd800ec2a nginx 0.3.44
Igor Sysoev <http://sysoev.ru>
parents: 92
diff changeset
31 #define NGX_LOG_DEBUG_MYSQL 0x400
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
32
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
33 /*
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
34 * do not forget to update debug_levels[] in src/core/ngx_log.c
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
35 * after the adding a new debug level
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
36 */
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
37
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
38 #define NGX_LOG_DEBUG_FIRST NGX_LOG_DEBUG_CORE
290
f745bf973510 nginx 0.5.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
39 #define NGX_LOG_DEBUG_LAST NGX_LOG_DEBUG_MYSQL
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
40 #define NGX_LOG_DEBUG_CONNECTION 0x80000000
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
41 #define NGX_LOG_DEBUG_ALL 0x7ffffff0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
42
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
43
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
44 typedef u_char *(*ngx_log_handler_pt) (ngx_log_t *log, u_char *buf, size_t len);
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
45
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
46
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
47 struct ngx_log_s {
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
48 ngx_uint_t log_level;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
49 ngx_open_file_t *file;
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
50
44
4989c3d25945 nginx 0.1.22
Igor Sysoev <http://sysoev.ru>
parents: 42
diff changeset
51 ngx_atomic_uint_t connection;
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
52
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
53 ngx_log_handler_pt handler;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
54 void *data;
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
55
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
56 /*
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
57 * we declare "action" as "char *" because the actions are usually
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
58 * the static strings and in the "u_char *" case we have to override
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
59 * their types all the time
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
60 */
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
61
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
62 char *action;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
63 };
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
64
10
46833bd150cb nginx 0.1.5
Igor Sysoev <http://sysoev.ru>
parents: 4
diff changeset
65
46833bd150cb nginx 0.1.5
Igor Sysoev <http://sysoev.ru>
parents: 4
diff changeset
66 #define NGX_MAX_ERROR_STR 2048
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
67
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
68
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
69 /*********************************/
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
70
584
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
71 #if (NGX_HAVE_C99_VARIADIC_MACROS)
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
72
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
73 #define NGX_HAVE_VARIADIC_MACROS 1
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
74
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
75 #define ngx_log_error(level, log, ...) \
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
76 if ((log)->log_level >= level) ngx_log_error_core(level, log, __VA_ARGS__)
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
77
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
78 void ngx_log_error_core(ngx_uint_t level, ngx_log_t *log, ngx_err_t err,
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
79 const char *fmt, ...);
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
80
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
81 #define ngx_log_debug(level, log, ...) \
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
82 if ((log)->log_level & level) \
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
83 ngx_log_error_core(NGX_LOG_DEBUG, log, __VA_ARGS__)
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
84
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
85 /*********************************/
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
86
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
87 #elif (NGX_HAVE_GCC_VARIADIC_MACROS)
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
88
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
89 #define NGX_HAVE_VARIADIC_MACROS 1
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
90
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
91 #define ngx_log_error(level, log, args...) \
92
45945fa8b8ba nginx 0.2.0
Igor Sysoev <http://sysoev.ru>
parents: 64
diff changeset
92 if ((log)->log_level >= level) ngx_log_error_core(level, log, args)
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
93
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
94 void ngx_log_error_core(ngx_uint_t level, ngx_log_t *log, ngx_err_t err,
48
6cfc63e68377 nginx 0.1.24
Igor Sysoev <http://sysoev.ru>
parents: 44
diff changeset
95 const char *fmt, ...);
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
96
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
97 #define ngx_log_debug(level, log, args...) \
92
45945fa8b8ba nginx 0.2.0
Igor Sysoev <http://sysoev.ru>
parents: 64
diff changeset
98 if ((log)->log_level & level) \
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
99 ngx_log_error_core(NGX_LOG_DEBUG, log, args)
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
100
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
101 /*********************************/
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
102
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
103 #else /* NO VARIADIC MACROS */
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
104
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
105 #define NGX_HAVE_VARIADIC_MACROS 0
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
106
52
0d75d65c642f nginx 0.1.26
Igor Sysoev <http://sysoev.ru>
parents: 48
diff changeset
107 void ngx_cdecl ngx_log_error(ngx_uint_t level, ngx_log_t *log, ngx_err_t err,
48
6cfc63e68377 nginx 0.1.24
Igor Sysoev <http://sysoev.ru>
parents: 44
diff changeset
108 const char *fmt, ...);
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
109 void ngx_log_error_core(ngx_uint_t level, ngx_log_t *log, ngx_err_t err,
48
6cfc63e68377 nginx 0.1.24
Igor Sysoev <http://sysoev.ru>
parents: 44
diff changeset
110 const char *fmt, va_list args);
52
0d75d65c642f nginx 0.1.26
Igor Sysoev <http://sysoev.ru>
parents: 48
diff changeset
111 void ngx_cdecl ngx_log_debug_core(ngx_log_t *log, ngx_err_t err,
0d75d65c642f nginx 0.1.26
Igor Sysoev <http://sysoev.ru>
parents: 48
diff changeset
112 const char *fmt, ...);
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
113
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
114
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
115 #endif /* VARIADIC MACROS */
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
116
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
117
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
118 /*********************************/
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
119
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
120 #if (NGX_DEBUG)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
121
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
122 #if (NGX_HAVE_VARIADIC_MACROS)
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
123
658
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
124 #define ngx_log_debug0(level, log, err, fmt) \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
125 ngx_log_debug(level, log, err, fmt)
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
126
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
127 #define ngx_log_debug1(level, log, err, fmt, arg1) \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
128 ngx_log_debug(level, log, err, fmt, arg1)
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
129
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
130 #define ngx_log_debug2(level, log, err, fmt, arg1, arg2) \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
131 ngx_log_debug(level, log, err, fmt, arg1, arg2)
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
132
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
133 #define ngx_log_debug3(level, log, err, fmt, arg1, arg2, arg3) \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
134 ngx_log_debug(level, log, err, fmt, arg1, arg2, arg3)
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
135
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
136 #define ngx_log_debug4(level, log, err, fmt, arg1, arg2, arg3, arg4) \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
137 ngx_log_debug(level, log, err, fmt, arg1, arg2, arg3, arg4)
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
138
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
139 #define ngx_log_debug5(level, log, err, fmt, arg1, arg2, arg3, arg4, arg5) \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
140 ngx_log_debug(level, log, err, fmt, arg1, arg2, arg3, arg4, arg5)
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
141
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
142 #define ngx_log_debug6(level, log, err, fmt, \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
143 arg1, arg2, arg3, arg4, arg5, arg6) \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
144 ngx_log_debug(level, log, err, fmt, \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
145 arg1, arg2, arg3, arg4, arg5, arg6)
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
146
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
147 #define ngx_log_debug7(level, log, err, fmt, \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
148 arg1, arg2, arg3, arg4, arg5, arg6, arg7) \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
149 ngx_log_debug(level, log, err, fmt, \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
150 arg1, arg2, arg3, arg4, arg5, arg6, arg7)
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
151
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
152 #define ngx_log_debug8(level, log, err, fmt, \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
153 arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
154 ngx_log_debug(level, log, err, fmt, \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
155 arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
156
64
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents: 52
diff changeset
157
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
158 #else /* NO VARIADIC MACROS */
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
159
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
160 #define ngx_log_debug0(level, log, err, fmt) \
92
45945fa8b8ba nginx 0.2.0
Igor Sysoev <http://sysoev.ru>
parents: 64
diff changeset
161 if ((log)->log_level & level) \
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
162 ngx_log_debug_core(log, err, fmt)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
163
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
164 #define ngx_log_debug1(level, log, err, fmt, arg1) \
92
45945fa8b8ba nginx 0.2.0
Igor Sysoev <http://sysoev.ru>
parents: 64
diff changeset
165 if ((log)->log_level & level) \
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
166 ngx_log_debug_core(log, err, fmt, arg1)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
167
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
168 #define ngx_log_debug2(level, log, err, fmt, arg1, arg2) \
92
45945fa8b8ba nginx 0.2.0
Igor Sysoev <http://sysoev.ru>
parents: 64
diff changeset
169 if ((log)->log_level & level) \
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
170 ngx_log_debug_core(log, err, fmt, arg1, arg2)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
171
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
172 #define ngx_log_debug3(level, log, err, fmt, arg1, arg2, arg3) \
92
45945fa8b8ba nginx 0.2.0
Igor Sysoev <http://sysoev.ru>
parents: 64
diff changeset
173 if ((log)->log_level & level) \
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
174 ngx_log_debug_core(log, err, fmt, arg1, arg2, arg3)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
175
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
176 #define ngx_log_debug4(level, log, err, fmt, arg1, arg2, arg3, arg4) \
92
45945fa8b8ba nginx 0.2.0
Igor Sysoev <http://sysoev.ru>
parents: 64
diff changeset
177 if ((log)->log_level & level) \
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
178 ngx_log_debug_core(log, err, fmt, arg1, arg2, arg3, arg4)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
179
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
180 #define ngx_log_debug5(level, log, err, fmt, arg1, arg2, arg3, arg4, arg5) \
92
45945fa8b8ba nginx 0.2.0
Igor Sysoev <http://sysoev.ru>
parents: 64
diff changeset
181 if ((log)->log_level & level) \
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
182 ngx_log_debug_core(log, err, fmt, arg1, arg2, arg3, arg4, arg5)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
183
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
184 #define ngx_log_debug6(level, log, err, fmt, \
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
185 arg1, arg2, arg3, arg4, arg5, arg6) \
92
45945fa8b8ba nginx 0.2.0
Igor Sysoev <http://sysoev.ru>
parents: 64
diff changeset
186 if ((log)->log_level & level) \
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
187 ngx_log_debug_core(log, err, fmt, arg1, arg2, arg3, arg4, arg5, arg6)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
188
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
189 #define ngx_log_debug7(level, log, err, fmt, \
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
190 arg1, arg2, arg3, arg4, arg5, arg6, arg7) \
92
45945fa8b8ba nginx 0.2.0
Igor Sysoev <http://sysoev.ru>
parents: 64
diff changeset
191 if ((log)->log_level & level) \
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
192 ngx_log_debug_core(log, err, fmt, \
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
193 arg1, arg2, arg3, arg4, arg5, arg6, arg7)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
194
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
195 #define ngx_log_debug8(level, log, err, fmt, \
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
196 arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) \
92
45945fa8b8ba nginx 0.2.0
Igor Sysoev <http://sysoev.ru>
parents: 64
diff changeset
197 if ((log)->log_level & level) \
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
198 ngx_log_debug_core(log, err, fmt, \
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
199 arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
200
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
201 #endif
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
202
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
203 #else /* NO NGX_DEBUG */
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
204
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
205 #define ngx_log_debug0(level, log, err, fmt)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
206 #define ngx_log_debug1(level, log, err, fmt, arg1)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
207 #define ngx_log_debug2(level, log, err, fmt, arg1, arg2)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
208 #define ngx_log_debug3(level, log, err, fmt, arg1, arg2, arg3)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
209 #define ngx_log_debug4(level, log, err, fmt, arg1, arg2, arg3, arg4)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
210 #define ngx_log_debug5(level, log, err, fmt, arg1, arg2, arg3, arg4, arg5)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
211 #define ngx_log_debug6(level, log, err, fmt, arg1, arg2, arg3, arg4, arg5, arg6)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
212 #define ngx_log_debug7(level, log, err, fmt, arg1, arg2, arg3, arg4, arg5, \
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
213 arg6, arg7)
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
214 #define ngx_log_debug8(level, log, err, fmt, arg1, arg2, arg3, arg4, arg5, \
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
215 arg6, arg7, arg8)
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
216
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
217 #endif
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
218
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
219 /*********************************/
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
220
482
392c16f2d858 nginx 0.7.53
Igor Sysoev <http://sysoev.ru>
parents: 480
diff changeset
221 ngx_log_t *ngx_log_init(u_char *prefix);
484
ed5e10fb40fc nginx 0.7.54
Igor Sysoev <http://sysoev.ru>
parents: 482
diff changeset
222 ngx_log_t *ngx_log_create(ngx_cycle_t *cycle, ngx_str_t *name);
ed5e10fb40fc nginx 0.7.54
Igor Sysoev <http://sysoev.ru>
parents: 482
diff changeset
223 char *ngx_log_set_levels(ngx_conf_t *cf, ngx_log_t *log);
482
392c16f2d858 nginx 0.7.53
Igor Sysoev <http://sysoev.ru>
parents: 480
diff changeset
224 void ngx_cdecl ngx_log_abort(ngx_err_t err, const char *fmt, ...);
392c16f2d858 nginx 0.7.53
Igor Sysoev <http://sysoev.ru>
parents: 480
diff changeset
225 void ngx_cdecl ngx_log_stderr(ngx_err_t err, const char *fmt, ...);
484
ed5e10fb40fc nginx 0.7.54
Igor Sysoev <http://sysoev.ru>
parents: 482
diff changeset
226 u_char *ngx_log_errno(u_char *buf, u_char *last, ngx_err_t err);
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
227
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
228
648
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
229 /*
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
230 * ngx_write_stderr() cannot be implemented as macro, since
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
231 * MSVC does not allow to use #ifdef inside macro parameters.
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
232 *
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
233 * ngx_write_fd() is used instead of ngx_write_console(), since
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
234 * CharToOemBuff() inside ngx_write_console() cannot be used with
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
235 * read only buffer as destination and CharToOemBuff() is not needed
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
236 * for ngx_write_stderr() anyway.
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
237 */
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
238 static ngx_inline void
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
239 ngx_write_stderr(char *text)
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
240 {
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
241 (void) ngx_write_fd(ngx_stderr, text, strlen(text));
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
242 }
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
243
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
244
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
245 extern ngx_module_t ngx_errlog_module;
482
392c16f2d858 nginx 0.7.53
Igor Sysoev <http://sysoev.ru>
parents: 480
diff changeset
246 extern ngx_uint_t ngx_use_stderr;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
247
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
248
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
249 #endif /* _NGX_LOG_H_INCLUDED_ */