wxr
2021-07-01 43b0d5870d528f23ecd6aeceb6cfd4325188b46f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
//
//  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 <CocoaLumberjack/CocoaLumberjack.h>
 
#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