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