xref: /unit/src/nxt_thread_log.h (revision 0)
1*0Sigor@sysoev.ru 
2*0Sigor@sysoev.ru /*
3*0Sigor@sysoev.ru  * Copyright (C) Igor Sysoev
4*0Sigor@sysoev.ru  * Copyright (C) NGINX, Inc.
5*0Sigor@sysoev.ru  */
6*0Sigor@sysoev.ru 
7*0Sigor@sysoev.ru #ifndef _NXT_THREAD_LOG_H_INCLUDED_
8*0Sigor@sysoev.ru #define _NXT_THREAD_LOG_H_INCLUDED_
9*0Sigor@sysoev.ru 
10*0Sigor@sysoev.ru 
11*0Sigor@sysoev.ru #define nxt_thread_log_emerg(...)                                             \
12*0Sigor@sysoev.ru     do {                                                                      \
13*0Sigor@sysoev.ru         nxt_thread_t  *_thr = nxt_thread();                                   \
14*0Sigor@sysoev.ru                                                                               \
15*0Sigor@sysoev.ru         nxt_log_emerg(_thr->log, __VA_ARGS__);                                \
16*0Sigor@sysoev.ru                                                                               \
17*0Sigor@sysoev.ru     } while (0)
18*0Sigor@sysoev.ru 
19*0Sigor@sysoev.ru 
20*0Sigor@sysoev.ru #define nxt_thread_log_alert(...)                                             \
21*0Sigor@sysoev.ru     do {                                                                      \
22*0Sigor@sysoev.ru         nxt_thread_t  *_thr = nxt_thread();                                   \
23*0Sigor@sysoev.ru                                                                               \
24*0Sigor@sysoev.ru         nxt_log_alert(_thr->log, __VA_ARGS__);                                \
25*0Sigor@sysoev.ru                                                                               \
26*0Sigor@sysoev.ru     } while (0)
27*0Sigor@sysoev.ru 
28*0Sigor@sysoev.ru 
29*0Sigor@sysoev.ru #define nxt_thread_log_error(_level, ...)                                     \
30*0Sigor@sysoev.ru     do {                                                                      \
31*0Sigor@sysoev.ru         nxt_thread_t  *_thr = nxt_thread();                                   \
32*0Sigor@sysoev.ru                                                                               \
33*0Sigor@sysoev.ru         nxt_log_error(_level, _thr->log, __VA_ARGS__);                        \
34*0Sigor@sysoev.ru                                                                               \
35*0Sigor@sysoev.ru     } while (0)
36*0Sigor@sysoev.ru 
37*0Sigor@sysoev.ru 
38*0Sigor@sysoev.ru #if (NXT_DEBUG)
39*0Sigor@sysoev.ru 
40*0Sigor@sysoev.ru #define nxt_thread_log_debug(...)                                             \
41*0Sigor@sysoev.ru     do {                                                                      \
42*0Sigor@sysoev.ru         nxt_thread_t  *_thr = nxt_thread();                                   \
43*0Sigor@sysoev.ru                                                                               \
44*0Sigor@sysoev.ru         nxt_log_debug(_thr->log, __VA_ARGS__);                                \
45*0Sigor@sysoev.ru                                                                               \
46*0Sigor@sysoev.ru     } while (0)
47*0Sigor@sysoev.ru 
48*0Sigor@sysoev.ru 
49*0Sigor@sysoev.ru #define nxt_thread_debug(thr)                                                 \
50*0Sigor@sysoev.ru     nxt_thread_t  *thr = nxt_thread()
51*0Sigor@sysoev.ru 
52*0Sigor@sysoev.ru #else
53*0Sigor@sysoev.ru 
54*0Sigor@sysoev.ru #define nxt_thread_log_debug(...)
55*0Sigor@sysoev.ru #define nxt_thread_debug(thr)
56*0Sigor@sysoev.ru 
57*0Sigor@sysoev.ru #endif
58*0Sigor@sysoev.ru 
59*0Sigor@sysoev.ru 
60*0Sigor@sysoev.ru nxt_inline nxt_log_t *
61*0Sigor@sysoev.ru nxt_thread_log(void)
62*0Sigor@sysoev.ru {
63*0Sigor@sysoev.ru     nxt_thread_t  *thr;
64*0Sigor@sysoev.ru 
65*0Sigor@sysoev.ru     thr = nxt_thread();
66*0Sigor@sysoev.ru     return thr->log;
67*0Sigor@sysoev.ru }
68*0Sigor@sysoev.ru 
69*0Sigor@sysoev.ru 
70*0Sigor@sysoev.ru #endif /* _NXT_THREAD_LOG_H_INCLUDED_ */
71