// // MQTTLog.h // MQTTClient // // Created by Christoph Krey on 10.02.16. // Copyright © 2016-2017 Christoph Krey. All rights reserved. // @import Foundation; #ifdef LUMBERJACK #define LOG_LEVEL_DEF ddLogLevel #import #else /* LUMBERJACK */ typedef NS_OPTIONS(NSUInteger, DDLogFlag){ /** * 0...00001 DDLogFlagError */ DDLogFlagError = (1 << 0), /** * 0...00010 DDLogFlagWarning */ DDLogFlagWarning = (1 << 1), /** * 0...00100 DDLogFlagInfo */ DDLogFlagInfo = (1 << 2), /** * 0...01000 DDLogFlagDebug */ DDLogFlagDebug = (1 << 3), /** * 0...10000 DDLogFlagVerbose */ DDLogFlagVerbose = (1 << 4) }; typedef NS_ENUM(NSUInteger, DDLogLevel){ DDLogLevelOff = 0, /** * Error logs only */ DDLogLevelError = (DDLogFlagError), /** * Error and warning logs */ DDLogLevelWarning = (DDLogLevelError | DDLogFlagWarning), /** * Error, warning and info logs */ DDLogLevelInfo = (DDLogLevelWarning | DDLogFlagInfo), /** * Error, warning, info and debug logs */ DDLogLevelDebug = (DDLogLevelInfo | DDLogFlagDebug), /** * Error, warning, info, debug and verbose logs */ DDLogLevelVerbose = (DDLogLevelDebug | DDLogFlagVerbose), /** * All logs (1...11111) */ DDLogLevelAll = NSUIntegerMax }; #ifdef DEBUG #define DDLogVerbose if (ddLogLevel & DDLogFlagVerbose) NSLog #define DDLogDebug if (ddLogLevel & DDLogFlagDebug) NSLog #define DDLogWarn if (ddLogLevel & DDLogFlagWarning) NSLog #define DDLogInfo if (ddLogLevel & DDLogFlagInfo) NSLog #define DDLogError if (ddLogLevel & DDLogFlagError) NSLog #else #define DDLogVerbose(...) #define DDLogDebug(...) #define DDLogWarn(...) #define DDLogInfo(...) #define DDLogError(...) #endif /* DEBUG */ #endif /* LUMBERJACK */ extern DDLogLevel ddLogLevel; /** MQTTLog lets you define the log level for MQTTClient * independently of using CocoaLumberjack */ @interface MQTTLog: NSObject /** setLogLevel controls the log level for MQTTClient * @param logLevel as follows: * * default for DEBUG builds is DDLogLevelVerbose * default for RELEASE builds is DDLogLevelWarning * * Available log levels: * DDLogLevelAll * DDLogLevelVerbose * DDLogLevelDebug * DDLogLevelInfo * DDLogLevelWarning * DDLogLevelError * DDLogLevelOff */ + (void)setLogLevel:(DDLogLevel)logLevel; @end