annotate src/core/ngx_log.h @ 660:d0f7a625f27c NGINX_1_1_14

nginx 1.1.14 *) Feature: multiple "limit_req" limits may be used simultaneously. *) Bugfix: in error handling while connecting to a backend. Thanks to Piotr Sikora. *) Bugfix: in AIO error handling on FreeBSD. *) Bugfix: in the OpenSSL library initialization. *) Bugfix: the "proxy_redirect" directives might not be correctly inherited. *) Bugfix: memory leak during reconfiguration if the "pcre_jit" directive was used.
author Igor Sysoev <http://sysoev.ru>
date Mon, 30 Jan 2012 00:00:00 +0400
parents 5a4401b9551b
children
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
660
d0f7a625f27c nginx 1.1.14
Igor Sysoev <http://sysoev.ru>
parents: 658
diff changeset
4 * Copyright (C) Nginx, Inc.
0
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
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
8 #ifndef _NGX_LOG_H_INCLUDED_
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
9 #define _NGX_LOG_H_INCLUDED_
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
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
12 #include <ngx_config.h>
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
13 #include <ngx_core.h>
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
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
16 #define NGX_LOG_STDERR 0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
17 #define NGX_LOG_EMERG 1
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
18 #define NGX_LOG_ALERT 2
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
19 #define NGX_LOG_CRIT 3
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
20 #define NGX_LOG_ERR 4
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
21 #define NGX_LOG_WARN 5
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
22 #define NGX_LOG_NOTICE 6
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
23 #define NGX_LOG_INFO 7
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
24 #define NGX_LOG_DEBUG 8
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
25
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
26 #define NGX_LOG_DEBUG_CORE 0x010
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
27 #define NGX_LOG_DEBUG_ALLOC 0x020
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
28 #define NGX_LOG_DEBUG_MUTEX 0x040
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
29 #define NGX_LOG_DEBUG_EVENT 0x080
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
30 #define NGX_LOG_DEBUG_HTTP 0x100
290
f745bf973510 nginx 0.5.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
31 #define NGX_LOG_DEBUG_MAIL 0x200
194
003bd800ec2a nginx 0.3.44
Igor Sysoev <http://sysoev.ru>
parents: 92
diff changeset
32 #define NGX_LOG_DEBUG_MYSQL 0x400
0
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 /*
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
35 * 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
36 * after the adding a new debug level
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
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
39 #define NGX_LOG_DEBUG_FIRST NGX_LOG_DEBUG_CORE
290
f745bf973510 nginx 0.5.15
Igor Sysoev <http://sysoev.ru>
parents: 258
diff changeset
40 #define NGX_LOG_DEBUG_LAST NGX_LOG_DEBUG_MYSQL
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
41 #define NGX_LOG_DEBUG_CONNECTION 0x80000000
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
42 #define NGX_LOG_DEBUG_ALL 0x7ffffff0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
43
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
44
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
45 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
46
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
47
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
48 struct ngx_log_s {
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
49 ngx_uint_t log_level;
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
50 ngx_open_file_t *file;
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
51
44
4989c3d25945 nginx 0.1.22
Igor Sysoev <http://sysoev.ru>
parents: 42
diff changeset
52 ngx_atomic_uint_t connection;
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
53
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
54 ngx_log_handler_pt handler;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
55 void *data;
32
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 /*
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
58 * we declare "action" as "char *" because the actions are usually
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
59 * 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
60 * their types all the time
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
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
63 char *action;
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
64 };
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
65
10
46833bd150cb nginx 0.1.5
Igor Sysoev <http://sysoev.ru>
parents: 4
diff changeset
66
46833bd150cb nginx 0.1.5
Igor Sysoev <http://sysoev.ru>
parents: 4
diff changeset
67 #define NGX_MAX_ERROR_STR 2048
0
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 /*********************************/
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
71
584
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
72 #if (NGX_HAVE_C99_VARIADIC_MACROS)
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
73
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
74 #define NGX_HAVE_VARIADIC_MACROS 1
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
75
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
76 #define ngx_log_error(level, log, ...) \
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
77 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
78
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
79 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
80 const char *fmt, ...);
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
81
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
82 #define ngx_log_debug(level, log, ...) \
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
83 if ((log)->log_level & level) \
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
84 ngx_log_error_core(NGX_LOG_DEBUG, log, __VA_ARGS__)
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
016632f0fb18 nginx 0.8.44
Igor Sysoev <http://sysoev.ru>
parents: 484
diff changeset
88 #elif (NGX_HAVE_GCC_VARIADIC_MACROS)
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
89
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
90 #define NGX_HAVE_VARIADIC_MACROS 1
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
91
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
92 #define ngx_log_error(level, log, args...) \
92
45945fa8b8ba nginx 0.2.0
Igor Sysoev <http://sysoev.ru>
parents: 64
diff changeset
93 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
94
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
95 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
96 const char *fmt, ...);
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
97
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
98 #define ngx_log_debug(level, log, args...) \
92
45945fa8b8ba nginx 0.2.0
Igor Sysoev <http://sysoev.ru>
parents: 64
diff changeset
99 if ((log)->log_level & level) \
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
100 ngx_log_error_core(NGX_LOG_DEBUG, log, args)
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
101
0
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
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
104 #else /* NO VARIADIC MACROS */
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
105
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
106 #define NGX_HAVE_VARIADIC_MACROS 0
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
107
52
0d75d65c642f nginx 0.1.26
Igor Sysoev <http://sysoev.ru>
parents: 48
diff changeset
108 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
109 const char *fmt, ...);
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
110 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
111 const char *fmt, va_list args);
52
0d75d65c642f nginx 0.1.26
Igor Sysoev <http://sysoev.ru>
parents: 48
diff changeset
112 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
113 const char *fmt, ...);
0
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
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
116 #endif /* VARIADIC MACROS */
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
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
121 #if (NGX_DEBUG)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
122
4
4b2dafa26fe2 nginx 0.1.2
Igor Sysoev <http://sysoev.ru>
parents: 0
diff changeset
123 #if (NGX_HAVE_VARIADIC_MACROS)
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
124
658
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
125 #define ngx_log_debug0(level, log, err, fmt) \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
126 ngx_log_debug(level, log, err, fmt)
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
127
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
128 #define ngx_log_debug1(level, log, err, fmt, arg1) \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
129 ngx_log_debug(level, log, err, fmt, arg1)
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
130
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
131 #define ngx_log_debug2(level, log, err, fmt, arg1, arg2) \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
132 ngx_log_debug(level, log, err, fmt, arg1, arg2)
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
133
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
134 #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
135 ngx_log_debug(level, log, err, fmt, arg1, arg2, arg3)
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
136
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
137 #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
138 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
139
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
140 #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
141 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
142
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
143 #define ngx_log_debug6(level, log, err, fmt, \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
144 arg1, arg2, arg3, arg4, arg5, arg6) \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
145 ngx_log_debug(level, log, err, fmt, \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
146 arg1, arg2, arg3, arg4, arg5, arg6)
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
147
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
148 #define ngx_log_debug7(level, log, err, fmt, \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
149 arg1, arg2, arg3, arg4, arg5, arg6, arg7) \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
150 ngx_log_debug(level, log, err, fmt, \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
151 arg1, arg2, arg3, arg4, arg5, arg6, arg7)
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
152
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
153 #define ngx_log_debug8(level, log, err, fmt, \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
154 arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
155 ngx_log_debug(level, log, err, fmt, \
5a4401b9551b nginx 1.1.13
Igor Sysoev <http://sysoev.ru>
parents: 648
diff changeset
156 arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
157
64
5db440287648 nginx 0.1.32
Igor Sysoev <http://sysoev.ru>
parents: 52
diff changeset
158
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
159 #else /* NO VARIADIC MACROS */
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
160
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
161 #define ngx_log_debug0(level, log, err, fmt) \
92
45945fa8b8ba nginx 0.2.0
Igor Sysoev <http://sysoev.ru>
parents: 64
diff changeset
162 if ((log)->log_level & level) \
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
163 ngx_log_debug_core(log, err, fmt)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
164
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
165 #define ngx_log_debug1(level, log, err, fmt, arg1) \
92
45945fa8b8ba nginx 0.2.0
Igor Sysoev <http://sysoev.ru>
parents: 64
diff changeset
166 if ((log)->log_level & level) \
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
167 ngx_log_debug_core(log, err, fmt, arg1)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
168
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
169 #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
170 if ((log)->log_level & level) \
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
171 ngx_log_debug_core(log, err, fmt, arg1, arg2)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
172
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
173 #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
174 if ((log)->log_level & level) \
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
175 ngx_log_debug_core(log, err, fmt, arg1, arg2, arg3)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
176
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
177 #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
178 if ((log)->log_level & level) \
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
179 ngx_log_debug_core(log, err, fmt, arg1, arg2, arg3, arg4)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
180
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
181 #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
182 if ((log)->log_level & level) \
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
183 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
184
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
185 #define ngx_log_debug6(level, log, err, fmt, \
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
186 arg1, arg2, arg3, arg4, arg5, arg6) \
92
45945fa8b8ba nginx 0.2.0
Igor Sysoev <http://sysoev.ru>
parents: 64
diff changeset
187 if ((log)->log_level & level) \
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
188 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
189
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
190 #define ngx_log_debug7(level, log, err, fmt, \
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
191 arg1, arg2, arg3, arg4, arg5, arg6, arg7) \
92
45945fa8b8ba nginx 0.2.0
Igor Sysoev <http://sysoev.ru>
parents: 64
diff changeset
192 if ((log)->log_level & level) \
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
193 ngx_log_debug_core(log, err, fmt, \
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
194 arg1, arg2, arg3, arg4, arg5, arg6, arg7)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
195
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
196 #define ngx_log_debug8(level, log, err, fmt, \
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
197 arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8) \
92
45945fa8b8ba nginx 0.2.0
Igor Sysoev <http://sysoev.ru>
parents: 64
diff changeset
198 if ((log)->log_level & level) \
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
199 ngx_log_debug_core(log, err, fmt, \
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
200 arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8)
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
201
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
202 #endif
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
203
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
204 #else /* NO NGX_DEBUG */
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
205
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
206 #define ngx_log_debug0(level, log, err, fmt)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
207 #define ngx_log_debug1(level, log, err, fmt, arg1)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
208 #define ngx_log_debug2(level, log, err, fmt, arg1, arg2)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
209 #define ngx_log_debug3(level, log, err, fmt, arg1, arg2, arg3)
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
210 #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
211 #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
212 #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
213 #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
214 arg6, arg7)
32
da8c190bdaba nginx 0.1.16
Igor Sysoev <http://sysoev.ru>
parents: 10
diff changeset
215 #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
216 arg6, arg7, arg8)
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
217
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
218 #endif
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 /*********************************/
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
221
482
392c16f2d858 nginx 0.7.53
Igor Sysoev <http://sysoev.ru>
parents: 480
diff changeset
222 ngx_log_t *ngx_log_init(u_char *prefix);
484
ed5e10fb40fc nginx 0.7.54
Igor Sysoev <http://sysoev.ru>
parents: 482
diff changeset
223 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
224 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
225 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
226 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
227 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
228
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
229
648
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
230 /*
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
231 * ngx_write_stderr() cannot be implemented as macro, since
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
232 * MSVC does not allow to use #ifdef inside macro parameters.
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
233 *
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
234 * 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
235 * CharToOemBuff() inside ngx_write_console() cannot be used with
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
236 * read only buffer as destination and CharToOemBuff() is not needed
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
237 * for ngx_write_stderr() anyway.
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
238 */
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
239 static ngx_inline void
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
240 ngx_write_stderr(char *text)
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
241 {
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
242 (void) ngx_write_fd(ngx_stderr, text, strlen(text));
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
f200748c0ac8 nginx 1.1.8
Igor Sysoev <http://sysoev.ru>
parents: 584
diff changeset
245
0
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
246 extern ngx_module_t ngx_errlog_module;
482
392c16f2d858 nginx 0.7.53
Igor Sysoev <http://sysoev.ru>
parents: 480
diff changeset
247 extern ngx_uint_t ngx_use_stderr;
0
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
f0b350454894 nginx 0.1.0
Igor Sysoev <http://sysoev.ru>
parents:
diff changeset
250 #endif /* _NGX_LOG_H_INCLUDED_ */