Added NSEdgeInsets to NSString function to improve the debugging on macOS. Added debug logs to MGLMapView.
66 lines
2.2 KiB
Objective-C
66 lines
2.2 KiB
Objective-C
#import "MGLLoggingConfiguration.h"
|
|
|
|
NS_INLINE NSString *MGLStringFromBOOL(BOOL value) {
|
|
return value ? @"YES" : @"NO";
|
|
}
|
|
|
|
#if TARGET_OS_OSX
|
|
NS_INLINE NSString *MGLStringFromNSEdgeInsets(NSEdgeInsets insets) {
|
|
return [NSString stringWithFormat:@"{ top: %f, left: %f, bottom: %f, right: %f", insets.top, insets.left, insets.bottom, insets.right];
|
|
}
|
|
#endif
|
|
|
|
#ifdef MGL_LOGGING_DISABLED
|
|
|
|
#define MGLLogInfo(...)
|
|
#define MGLLogDebug(...)
|
|
#define MGLLogError(...)
|
|
#define MGLLogFault(...)
|
|
|
|
#else
|
|
|
|
#if MGL_LOGGING_ENABLE_DEBUG
|
|
#define MGLLogDebug(message, ...) MGLLogWithType(MGLLoggingLevelDebug, __PRETTY_FUNCTION__, __LINE__, message, ##__VA_ARGS__)
|
|
#else
|
|
#define MGLLogDebug(...)
|
|
#endif
|
|
|
|
#define MGLLogInfo(message, ...) MGLLogWithType(MGLLoggingLevelInfo, __PRETTY_FUNCTION__, __LINE__, message, ##__VA_ARGS__)
|
|
#define MGLLogError(message, ...) MGLLogWithType(MGLLoggingLevelError, __PRETTY_FUNCTION__, __LINE__, message, ##__VA_ARGS__)
|
|
#define MGLLogFault(message, ...) MGLLogWithType(MGLLoggingLevelFault, __PRETTY_FUNCTION__, __LINE__, message, ##__VA_ARGS__)
|
|
|
|
#endif
|
|
|
|
#define MGLAssert(expression, message, ...) \
|
|
__extension__({ \
|
|
if (__builtin_expect(!(expression), 0)) { \
|
|
MGLLogFault(message, ##__VA_ARGS__); \
|
|
} \
|
|
NSAssert(expression, message, ##__VA_ARGS__); \
|
|
})
|
|
#define MGLCAssert(expression, message, ...) \
|
|
__extension__({ \
|
|
if (__builtin_expect(!(expression), 0)) { \
|
|
MGLLogFault(message, ##__VA_ARGS__); \
|
|
} \
|
|
NSCAssert(expression, message, ##__VA_ARGS__); \
|
|
})
|
|
|
|
|
|
#ifndef MGL_LOGGING_DISABLED
|
|
|
|
#define MGLLogWithType(type, function, line, message, ...) \
|
|
{ \
|
|
if ([MGLLoggingConfiguration sharedConfiguration].loggingLevel != MGLLoggingLevelNone && type <= [MGLLoggingConfiguration sharedConfiguration].loggingLevel) \
|
|
{ \
|
|
[[MGLLoggingConfiguration sharedConfiguration] logCallingFunction:function functionLine:line messageType:type format:(message), ##__VA_ARGS__]; \
|
|
} \
|
|
}
|
|
|
|
@interface MGLLoggingConfiguration (Private)
|
|
|
|
- (void)logCallingFunction:(const char *)callingFunction functionLine:(NSUInteger)functionLine messageType:(MGLLoggingLevel)type format:(id)messageFormat, ...;
|
|
|
|
@end
|
|
#endif
|