diff --git a/CGDWebServer/GCDWebServer.m b/CGDWebServer/GCDWebServer.m index d5a5545..320bce5 100644 --- a/CGDWebServer/GCDWebServer.m +++ b/CGDWebServer/GCDWebServer.m @@ -62,6 +62,27 @@ static BOOL _run; #endif +#ifndef __GCDWEBSERVER_LOGGING_HEADER__ + +void GCDLogMessage(long level, NSString* format, ...) { + static const char* levelNames[] = {"DEBUG", "VERBOSE", "INFO", "WARNING", "ERROR", "EXCEPTION"}; + static long minLevel = -1; + if (minLevel < 0) { + const char* logLevel = getenv("logLevel"); + minLevel = logLevel ? atoi(logLevel) : 0; + } + if (level >= minLevel) { + va_list arguments; + va_start(arguments, format); + NSString* message = [[NSString alloc] initWithFormat:format arguments:arguments]; + va_end(arguments); + fprintf(stderr, "[%s] %s\n", levelNames[level], [message UTF8String]); + ARC_RELEASE(message); + } +} + +#endif + NSString* GCDWebServerGetMimeTypeForExtension(NSString* extension) { static NSDictionary* _overrides = nil; if (_overrides == nil) { @@ -201,9 +222,9 @@ static void _SignalHandler(int signal) { static void _NetServiceClientCallBack(CFNetServiceRef service, CFStreamError* error, void* info) { @autoreleasepool { if (error->error) { - LOG_ERROR(@"Bonjour error %i (domain %i)", error->error, (int)error->domain); + LOG_ERROR(@"Bonjour error %i (domain %i)", (int)error->error, (int)error->domain); } else { - LOG_VERBOSE(@"Registered Bonjour service \"%@\" in domain \"%@\" with type '%@' on port %i", CFNetServiceGetName(service), CFNetServiceGetDomain(service), CFNetServiceGetType(service), CFNetServiceGetPortNumber(service)); + LOG_VERBOSE(@"Registered Bonjour service \"%@\" in domain \"%@\" with type '%@' on port %i", CFNetServiceGetName(service), CFNetServiceGetDomain(service), CFNetServiceGetType(service), (int)CFNetServiceGetPortNumber(service)); } } } diff --git a/CGDWebServer/GCDWebServerPrivate.h b/CGDWebServer/GCDWebServerPrivate.h index 4116d35..6fe4c61 100644 --- a/CGDWebServer/GCDWebServerPrivate.h +++ b/CGDWebServer/GCDWebServerPrivate.h @@ -59,28 +59,13 @@ #else -static inline void __LogMessage(long level, NSString* format, ...) { - static const char* levelNames[] = {"DEBUG", "VERBOSE", "INFO", "WARNING", "ERROR", "EXCEPTION"}; - static long minLevel = -1; - if (minLevel < 0) { - const char* logLevel = getenv("logLevel"); - minLevel = logLevel ? atoi(logLevel) : 0; - } - if (level >= minLevel) { - va_list arguments; - va_start(arguments, format); - NSString* message = [[NSString alloc] initWithFormat:format arguments:arguments]; - va_end(arguments); - fprintf(stderr, "[%s] %s\n", levelNames[level], [message UTF8String]); - ARC_RELEASE(message); - } -} +extern void GCDLogMessage(long level, NSString* format, ...) NS_FORMAT_FUNCTION(2, 3); -#define LOG_VERBOSE(...) __LogMessage(1, __VA_ARGS__) -#define LOG_INFO(...) __LogMessage(2, __VA_ARGS__) -#define LOG_WARNING(...) __LogMessage(3, __VA_ARGS__) -#define LOG_ERROR(...) __LogMessage(4, __VA_ARGS__) -#define LOG_EXCEPTION(__EXCEPTION__) __LogMessage(5, @"%@", __EXCEPTION__) +#define LOG_VERBOSE(...) GCDLogMessage(1, __VA_ARGS__) +#define LOG_INFO(...) GCDLogMessage(2, __VA_ARGS__) +#define LOG_WARNING(...) GCDLogMessage(3, __VA_ARGS__) +#define LOG_ERROR(...) GCDLogMessage(4, __VA_ARGS__) +#define LOG_EXCEPTION(__EXCEPTION__) GCDLogMessage(5, @"%@", __EXCEPTION__) #ifdef NDEBUG @@ -97,7 +82,7 @@ static inline void __LogMessage(long level, NSString* format, ...) { } \ } while (0) #define DNOT_REACHED() abort() -#define LOG_DEBUG(...) __LogMessage(0, __VA_ARGS__) +#define LOG_DEBUG(...) GCDLogMessage(0, __VA_ARGS__) #endif