void WTFLogAlways(const char* format, ...) { va_list args; va_start(args, format); vprintf_stderr_with_trailing_newline(format, args); va_end(args); }
void WTFLog(WTFLogChannel* channel, const char* format, ...) { if (channel->state != WTFLogChannelOn) return; va_list args; va_start(args, format); vprintf_stderr_with_trailing_newline(format, args); va_end(args); }
void WTFLogVerbose(const char* file, int line, const char* function, WTFLogChannel* channel, const char* format, ...) { if (channel->state != WTFLogChannelOn) return; va_list args; va_start(args, format); vprintf_stderr_with_trailing_newline(format, args); va_end(args); printCallSite(file, line, function); }
void WTFLog(WTFLogChannel* channel, const char* format, ...) { if (channel->state == WTFLogChannelOff) return; if (channel->state == WTFLogChannelOn) { va_list args; va_start(args, format); vprintf_stderr_with_trailing_newline(format, args); va_end(args); return; } ASSERT(channel->state == WTFLogChannelOnWithAccumulation); va_list args; va_start(args, format); #if COMPILER(CLANG) #pragma clang diagnostic push #pragma clang diagnostic ignored "-Wformat-nonliteral" #endif String loggingString = String::format(format, args); #if COMPILER(CLANG) #pragma clang diagnostic pop #endif va_end(args); if (!loggingString.endsWith('\n')) loggingString.append('\n'); loggingAccumulator().accumulate(loggingString); logToStderr(loggingString.utf8().data()); }
void WTFLogAlwaysV(const char* format, va_list args) { vprintf_stderr_with_trailing_newline(format, args); }