xref: /aosp_15_r20/external/abseil-cpp/absl/log/internal/log_impl.h (revision 9356374a3709195abf420251b3e825997ff56c0f)
1*9356374aSAndroid Build Coastguard Worker // Copyright 2022 The Abseil Authors
2*9356374aSAndroid Build Coastguard Worker //
3*9356374aSAndroid Build Coastguard Worker // Licensed under the Apache License, Version 2.0 (the "License");
4*9356374aSAndroid Build Coastguard Worker // you may not use this file except in compliance with the License.
5*9356374aSAndroid Build Coastguard Worker // You may obtain a copy of the License at
6*9356374aSAndroid Build Coastguard Worker //
7*9356374aSAndroid Build Coastguard Worker //     https://www.apache.org/licenses/LICENSE-2.0
8*9356374aSAndroid Build Coastguard Worker //
9*9356374aSAndroid Build Coastguard Worker // Unless required by applicable law or agreed to in writing, software
10*9356374aSAndroid Build Coastguard Worker // distributed under the License is distributed on an "AS IS" BASIS,
11*9356374aSAndroid Build Coastguard Worker // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*9356374aSAndroid Build Coastguard Worker // See the License for the specific language governing permissions and
13*9356374aSAndroid Build Coastguard Worker // limitations under the License.
14*9356374aSAndroid Build Coastguard Worker 
15*9356374aSAndroid Build Coastguard Worker #ifndef ABSL_LOG_INTERNAL_LOG_IMPL_H_
16*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_LOG_IMPL_H_
17*9356374aSAndroid Build Coastguard Worker 
18*9356374aSAndroid Build Coastguard Worker #include "absl/log/absl_vlog_is_on.h"
19*9356374aSAndroid Build Coastguard Worker #include "absl/log/internal/conditions.h"
20*9356374aSAndroid Build Coastguard Worker #include "absl/log/internal/log_message.h"
21*9356374aSAndroid Build Coastguard Worker #include "absl/log/internal/strip.h"
22*9356374aSAndroid Build Coastguard Worker 
23*9356374aSAndroid Build Coastguard Worker // ABSL_LOG()
24*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_LOG_IMPL(severity)             \
25*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATELESS, true) \
26*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_LOG##severity.InternalStream()
27*9356374aSAndroid Build Coastguard Worker 
28*9356374aSAndroid Build Coastguard Worker // ABSL_PLOG()
29*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_PLOG_IMPL(severity)              \
30*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATELESS, true)   \
31*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_LOG##severity.InternalStream() \
32*9356374aSAndroid Build Coastguard Worker           .WithPerror()
33*9356374aSAndroid Build Coastguard Worker 
34*9356374aSAndroid Build Coastguard Worker // ABSL_DLOG()
35*9356374aSAndroid Build Coastguard Worker #ifndef NDEBUG
36*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_DLOG_IMPL(severity)            \
37*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATELESS, true) \
38*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_DLOG##severity.InternalStream()
39*9356374aSAndroid Build Coastguard Worker #else
40*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_DLOG_IMPL(severity)             \
41*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATELESS, false) \
42*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_DLOG##severity.InternalStream()
43*9356374aSAndroid Build Coastguard Worker #endif
44*9356374aSAndroid Build Coastguard Worker 
45*9356374aSAndroid Build Coastguard Worker // The `switch` ensures that this expansion is the beginning of a statement (as
46*9356374aSAndroid Build Coastguard Worker // opposed to an expression). The use of both `case 0` and `default` is to
47*9356374aSAndroid Build Coastguard Worker // suppress a compiler warning.
48*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_VLOG_IMPL(verbose_level)                         \
49*9356374aSAndroid Build Coastguard Worker   switch (const int absl_logging_internal_verbose_level = (verbose_level)) \
50*9356374aSAndroid Build Coastguard Worker   case 0:                                                                  \
51*9356374aSAndroid Build Coastguard Worker   default:                                                                 \
52*9356374aSAndroid Build Coastguard Worker     ABSL_LOG_INTERNAL_LOG_IF_IMPL(                                         \
53*9356374aSAndroid Build Coastguard Worker         _INFO, ABSL_VLOG_IS_ON(absl_logging_internal_verbose_level))       \
54*9356374aSAndroid Build Coastguard Worker         .WithVerbosity(absl_logging_internal_verbose_level)
55*9356374aSAndroid Build Coastguard Worker 
56*9356374aSAndroid Build Coastguard Worker #ifndef NDEBUG
57*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_DVLOG_IMPL(verbose_level)                        \
58*9356374aSAndroid Build Coastguard Worker   switch (const int absl_logging_internal_verbose_level = (verbose_level)) \
59*9356374aSAndroid Build Coastguard Worker   case 0:                                                                  \
60*9356374aSAndroid Build Coastguard Worker   default:                                                                 \
61*9356374aSAndroid Build Coastguard Worker     ABSL_LOG_INTERNAL_DLOG_IF_IMPL(                                         \
62*9356374aSAndroid Build Coastguard Worker         _INFO, ABSL_VLOG_IS_ON(absl_logging_internal_verbose_level))       \
63*9356374aSAndroid Build Coastguard Worker         .WithVerbosity(absl_logging_internal_verbose_level)
64*9356374aSAndroid Build Coastguard Worker #else
65*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_DVLOG_IMPL(verbose_level)                           \
66*9356374aSAndroid Build Coastguard Worker   switch (const int absl_logging_internal_verbose_level = (verbose_level))    \
67*9356374aSAndroid Build Coastguard Worker   case 0:                                                                     \
68*9356374aSAndroid Build Coastguard Worker   default:                                                                    \
69*9356374aSAndroid Build Coastguard Worker     ABSL_LOG_INTERNAL_DLOG_IF_IMPL(                                            \
70*9356374aSAndroid Build Coastguard Worker         _INFO, false && ABSL_VLOG_IS_ON(absl_logging_internal_verbose_level)) \
71*9356374aSAndroid Build Coastguard Worker         .WithVerbosity(absl_logging_internal_verbose_level)
72*9356374aSAndroid Build Coastguard Worker #endif
73*9356374aSAndroid Build Coastguard Worker 
74*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_LOG_IF_IMPL(severity, condition)    \
75*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATELESS, condition) \
76*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_LOG##severity.InternalStream()
77*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_PLOG_IF_IMPL(severity, condition)   \
78*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATELESS, condition) \
79*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_LOG##severity.InternalStream()    \
80*9356374aSAndroid Build Coastguard Worker           .WithPerror()
81*9356374aSAndroid Build Coastguard Worker 
82*9356374aSAndroid Build Coastguard Worker #ifndef NDEBUG
83*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_DLOG_IF_IMPL(severity, condition)   \
84*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATELESS, condition) \
85*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_DLOG##severity.InternalStream()
86*9356374aSAndroid Build Coastguard Worker #else
87*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_DLOG_IF_IMPL(severity, condition)              \
88*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATELESS, false && (condition)) \
89*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_DLOG##severity.InternalStream()
90*9356374aSAndroid Build Coastguard Worker #endif
91*9356374aSAndroid Build Coastguard Worker 
92*9356374aSAndroid Build Coastguard Worker // ABSL_LOG_EVERY_N
93*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_LOG_EVERY_N_IMPL(severity, n)            \
94*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATEFUL, true)(EveryN, n) \
95*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_LOG##severity.InternalStream()
96*9356374aSAndroid Build Coastguard Worker 
97*9356374aSAndroid Build Coastguard Worker // ABSL_LOG_FIRST_N
98*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_LOG_FIRST_N_IMPL(severity, n)            \
99*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATEFUL, true)(FirstN, n) \
100*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_LOG##severity.InternalStream()
101*9356374aSAndroid Build Coastguard Worker 
102*9356374aSAndroid Build Coastguard Worker // ABSL_LOG_EVERY_POW_2
103*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_LOG_EVERY_POW_2_IMPL(severity)           \
104*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATEFUL, true)(EveryPow2) \
105*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_LOG##severity.InternalStream()
106*9356374aSAndroid Build Coastguard Worker 
107*9356374aSAndroid Build Coastguard Worker // ABSL_LOG_EVERY_N_SEC
108*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_LOG_EVERY_N_SEC_IMPL(severity, n_seconds)           \
109*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATEFUL, true)(EveryNSec, n_seconds) \
110*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_LOG##severity.InternalStream()
111*9356374aSAndroid Build Coastguard Worker 
112*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_PLOG_EVERY_N_IMPL(severity, n)           \
113*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATEFUL, true)(EveryN, n) \
114*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_LOG##severity.InternalStream()         \
115*9356374aSAndroid Build Coastguard Worker           .WithPerror()
116*9356374aSAndroid Build Coastguard Worker 
117*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_PLOG_FIRST_N_IMPL(severity, n)           \
118*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATEFUL, true)(FirstN, n) \
119*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_LOG##severity.InternalStream()         \
120*9356374aSAndroid Build Coastguard Worker           .WithPerror()
121*9356374aSAndroid Build Coastguard Worker 
122*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_PLOG_EVERY_POW_2_IMPL(severity)          \
123*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATEFUL, true)(EveryPow2) \
124*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_LOG##severity.InternalStream()         \
125*9356374aSAndroid Build Coastguard Worker           .WithPerror()
126*9356374aSAndroid Build Coastguard Worker 
127*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_PLOG_EVERY_N_SEC_IMPL(severity, n_seconds)          \
128*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATEFUL, true)(EveryNSec, n_seconds) \
129*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_LOG##severity.InternalStream()                    \
130*9356374aSAndroid Build Coastguard Worker           .WithPerror()
131*9356374aSAndroid Build Coastguard Worker 
132*9356374aSAndroid Build Coastguard Worker #ifndef NDEBUG
133*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_DLOG_EVERY_N_IMPL(severity, n) \
134*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION_INFO(STATEFUL, true)       \
135*9356374aSAndroid Build Coastguard Worker   (EveryN, n) ABSL_LOGGING_INTERNAL_DLOG##severity.InternalStream()
136*9356374aSAndroid Build Coastguard Worker 
137*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_DLOG_FIRST_N_IMPL(severity, n) \
138*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION_INFO(STATEFUL, true)       \
139*9356374aSAndroid Build Coastguard Worker   (FirstN, n) ABSL_LOGGING_INTERNAL_DLOG##severity.InternalStream()
140*9356374aSAndroid Build Coastguard Worker 
141*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_DLOG_EVERY_POW_2_IMPL(severity) \
142*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION_INFO(STATEFUL, true)        \
143*9356374aSAndroid Build Coastguard Worker   (EveryPow2) ABSL_LOGGING_INTERNAL_DLOG##severity.InternalStream()
144*9356374aSAndroid Build Coastguard Worker 
145*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_DLOG_EVERY_N_SEC_IMPL(severity, n_seconds) \
146*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION_INFO(STATEFUL, true)                   \
147*9356374aSAndroid Build Coastguard Worker   (EveryNSec, n_seconds) ABSL_LOGGING_INTERNAL_DLOG##severity.InternalStream()
148*9356374aSAndroid Build Coastguard Worker 
149*9356374aSAndroid Build Coastguard Worker #else  // def NDEBUG
150*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_DLOG_EVERY_N_IMPL(severity, n) \
151*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION_INFO(STATEFUL, false)      \
152*9356374aSAndroid Build Coastguard Worker   (EveryN, n) ABSL_LOGGING_INTERNAL_DLOG##severity.InternalStream()
153*9356374aSAndroid Build Coastguard Worker 
154*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_DLOG_FIRST_N_IMPL(severity, n) \
155*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION_INFO(STATEFUL, false)      \
156*9356374aSAndroid Build Coastguard Worker   (FirstN, n) ABSL_LOGGING_INTERNAL_DLOG##severity.InternalStream()
157*9356374aSAndroid Build Coastguard Worker 
158*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_DLOG_EVERY_POW_2_IMPL(severity) \
159*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION_INFO(STATEFUL, false)       \
160*9356374aSAndroid Build Coastguard Worker   (EveryPow2) ABSL_LOGGING_INTERNAL_DLOG##severity.InternalStream()
161*9356374aSAndroid Build Coastguard Worker 
162*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_DLOG_EVERY_N_SEC_IMPL(severity, n_seconds) \
163*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION_INFO(STATEFUL, false)                  \
164*9356374aSAndroid Build Coastguard Worker   (EveryNSec, n_seconds) ABSL_LOGGING_INTERNAL_DLOG##severity.InternalStream()
165*9356374aSAndroid Build Coastguard Worker #endif  // def NDEBUG
166*9356374aSAndroid Build Coastguard Worker 
167*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_VLOG_EVERY_N_IMPL(verbose_level, n)                \
168*9356374aSAndroid Build Coastguard Worker   switch (const int absl_logging_internal_verbose_level = (verbose_level))   \
169*9356374aSAndroid Build Coastguard Worker   case 0:                                                                    \
170*9356374aSAndroid Build Coastguard Worker   default:                                                                   \
171*9356374aSAndroid Build Coastguard Worker     ABSL_LOG_INTERNAL_CONDITION_INFO(                                        \
172*9356374aSAndroid Build Coastguard Worker         STATEFUL, ABSL_VLOG_IS_ON(absl_logging_internal_verbose_level))      \
173*9356374aSAndroid Build Coastguard Worker   (EveryN, n) ABSL_LOGGING_INTERNAL_LOG_INFO.InternalStream().WithVerbosity( \
174*9356374aSAndroid Build Coastguard Worker       absl_logging_internal_verbose_level)
175*9356374aSAndroid Build Coastguard Worker 
176*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_VLOG_FIRST_N_IMPL(verbose_level, n)                \
177*9356374aSAndroid Build Coastguard Worker   switch (const int absl_logging_internal_verbose_level = (verbose_level))   \
178*9356374aSAndroid Build Coastguard Worker   case 0:                                                                    \
179*9356374aSAndroid Build Coastguard Worker   default:                                                                   \
180*9356374aSAndroid Build Coastguard Worker     ABSL_LOG_INTERNAL_CONDITION_INFO(                                        \
181*9356374aSAndroid Build Coastguard Worker         STATEFUL, ABSL_VLOG_IS_ON(absl_logging_internal_verbose_level))      \
182*9356374aSAndroid Build Coastguard Worker   (FirstN, n) ABSL_LOGGING_INTERNAL_LOG_INFO.InternalStream().WithVerbosity( \
183*9356374aSAndroid Build Coastguard Worker       absl_logging_internal_verbose_level)
184*9356374aSAndroid Build Coastguard Worker 
185*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_VLOG_EVERY_POW_2_IMPL(verbose_level)               \
186*9356374aSAndroid Build Coastguard Worker   switch (const int absl_logging_internal_verbose_level = (verbose_level))   \
187*9356374aSAndroid Build Coastguard Worker   case 0:                                                                    \
188*9356374aSAndroid Build Coastguard Worker   default:                                                                   \
189*9356374aSAndroid Build Coastguard Worker     ABSL_LOG_INTERNAL_CONDITION_INFO(                                        \
190*9356374aSAndroid Build Coastguard Worker         STATEFUL, ABSL_VLOG_IS_ON(absl_logging_internal_verbose_level))      \
191*9356374aSAndroid Build Coastguard Worker   (EveryPow2) ABSL_LOGGING_INTERNAL_LOG_INFO.InternalStream().WithVerbosity( \
192*9356374aSAndroid Build Coastguard Worker       absl_logging_internal_verbose_level)
193*9356374aSAndroid Build Coastguard Worker 
194*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_VLOG_EVERY_N_SEC_IMPL(verbose_level, n_seconds)  \
195*9356374aSAndroid Build Coastguard Worker   switch (const int absl_logging_internal_verbose_level = (verbose_level)) \
196*9356374aSAndroid Build Coastguard Worker   case 0:                                                                  \
197*9356374aSAndroid Build Coastguard Worker   default:                                                                 \
198*9356374aSAndroid Build Coastguard Worker     ABSL_LOG_INTERNAL_CONDITION_INFO(                                      \
199*9356374aSAndroid Build Coastguard Worker         STATEFUL, ABSL_VLOG_IS_ON(absl_logging_internal_verbose_level))    \
200*9356374aSAndroid Build Coastguard Worker   (EveryNSec, n_seconds) ABSL_LOGGING_INTERNAL_LOG_INFO.InternalStream()   \
201*9356374aSAndroid Build Coastguard Worker       .WithVerbosity(absl_logging_internal_verbose_level)
202*9356374aSAndroid Build Coastguard Worker 
203*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_LOG_IF_EVERY_N_IMPL(severity, condition, n)   \
204*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATEFUL, condition)(EveryN, n) \
205*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_LOG##severity.InternalStream()
206*9356374aSAndroid Build Coastguard Worker 
207*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_LOG_IF_FIRST_N_IMPL(severity, condition, n)   \
208*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATEFUL, condition)(FirstN, n) \
209*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_LOG##severity.InternalStream()
210*9356374aSAndroid Build Coastguard Worker 
211*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_LOG_IF_EVERY_POW_2_IMPL(severity, condition)  \
212*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATEFUL, condition)(EveryPow2) \
213*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_LOG##severity.InternalStream()
214*9356374aSAndroid Build Coastguard Worker 
215*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_LOG_IF_EVERY_N_SEC_IMPL(severity, condition,  \
216*9356374aSAndroid Build Coastguard Worker                                                   n_seconds)            \
217*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATEFUL, condition)(EveryNSec, \
218*9356374aSAndroid Build Coastguard Worker                                                              n_seconds) \
219*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_LOG##severity.InternalStream()
220*9356374aSAndroid Build Coastguard Worker 
221*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_PLOG_IF_EVERY_N_IMPL(severity, condition, n)  \
222*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATEFUL, condition)(EveryN, n) \
223*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_LOG##severity.InternalStream()              \
224*9356374aSAndroid Build Coastguard Worker           .WithPerror()
225*9356374aSAndroid Build Coastguard Worker 
226*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_PLOG_IF_FIRST_N_IMPL(severity, condition, n)  \
227*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATEFUL, condition)(FirstN, n) \
228*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_LOG##severity.InternalStream()              \
229*9356374aSAndroid Build Coastguard Worker           .WithPerror()
230*9356374aSAndroid Build Coastguard Worker 
231*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_PLOG_IF_EVERY_POW_2_IMPL(severity, condition) \
232*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATEFUL, condition)(EveryPow2) \
233*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_LOG##severity.InternalStream()              \
234*9356374aSAndroid Build Coastguard Worker           .WithPerror()
235*9356374aSAndroid Build Coastguard Worker 
236*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_PLOG_IF_EVERY_N_SEC_IMPL(severity, condition, \
237*9356374aSAndroid Build Coastguard Worker                                                    n_seconds)           \
238*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATEFUL, condition)(EveryNSec, \
239*9356374aSAndroid Build Coastguard Worker                                                              n_seconds) \
240*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_LOG##severity.InternalStream()              \
241*9356374aSAndroid Build Coastguard Worker           .WithPerror()
242*9356374aSAndroid Build Coastguard Worker 
243*9356374aSAndroid Build Coastguard Worker #ifndef NDEBUG
244*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_DLOG_IF_EVERY_N_IMPL(severity, condition, n)  \
245*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATEFUL, condition)(EveryN, n) \
246*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_DLOG##severity.InternalStream()
247*9356374aSAndroid Build Coastguard Worker 
248*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_DLOG_IF_FIRST_N_IMPL(severity, condition, n)  \
249*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATEFUL, condition)(FirstN, n) \
250*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_DLOG##severity.InternalStream()
251*9356374aSAndroid Build Coastguard Worker 
252*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_DLOG_IF_EVERY_POW_2_IMPL(severity, condition) \
253*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATEFUL, condition)(EveryPow2) \
254*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_DLOG##severity.InternalStream()
255*9356374aSAndroid Build Coastguard Worker 
256*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_DLOG_IF_EVERY_N_SEC_IMPL(severity, condition, \
257*9356374aSAndroid Build Coastguard Worker                                                    n_seconds)           \
258*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATEFUL, condition)(EveryNSec, \
259*9356374aSAndroid Build Coastguard Worker                                                              n_seconds) \
260*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_DLOG##severity.InternalStream()
261*9356374aSAndroid Build Coastguard Worker 
262*9356374aSAndroid Build Coastguard Worker #else  // def NDEBUG
263*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_DLOG_IF_EVERY_N_IMPL(severity, condition, n)   \
264*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATEFUL, false && (condition))( \
265*9356374aSAndroid Build Coastguard Worker       EveryN, n) ABSL_LOGGING_INTERNAL_DLOG##severity.InternalStream()
266*9356374aSAndroid Build Coastguard Worker 
267*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_DLOG_IF_FIRST_N_IMPL(severity, condition, n)   \
268*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATEFUL, false && (condition))( \
269*9356374aSAndroid Build Coastguard Worker       FirstN, n) ABSL_LOGGING_INTERNAL_DLOG##severity.InternalStream()
270*9356374aSAndroid Build Coastguard Worker 
271*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_DLOG_IF_EVERY_POW_2_IMPL(severity, condition)  \
272*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATEFUL, false && (condition))( \
273*9356374aSAndroid Build Coastguard Worker       EveryPow2) ABSL_LOGGING_INTERNAL_DLOG##severity.InternalStream()
274*9356374aSAndroid Build Coastguard Worker 
275*9356374aSAndroid Build Coastguard Worker #define ABSL_LOG_INTERNAL_DLOG_IF_EVERY_N_SEC_IMPL(severity, condition,  \
276*9356374aSAndroid Build Coastguard Worker                                                    n_seconds)            \
277*9356374aSAndroid Build Coastguard Worker   ABSL_LOG_INTERNAL_CONDITION##severity(STATEFUL, false && (condition))( \
278*9356374aSAndroid Build Coastguard Worker       EveryNSec, n_seconds)                                              \
279*9356374aSAndroid Build Coastguard Worker       ABSL_LOGGING_INTERNAL_DLOG##severity.InternalStream()
280*9356374aSAndroid Build Coastguard Worker #endif  // def NDEBUG
281*9356374aSAndroid Build Coastguard Worker 
282*9356374aSAndroid Build Coastguard Worker #endif  // ABSL_LOG_INTERNAL_LOG_IMPL_H_
283