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
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
| //
| // UMCommonLogMacros.h
| // testUMCommonLog
| //
| // Created by 张军华 on 2017/11/29.
| // Copyright © 2017年 张军华. All rights reserved.
| //
|
| #import <Foundation/Foundation.h>
|
| #define USing_CommonLog_Reflection
|
| #ifndef USing_CommonLog_Reflection
|
| #import "UMCommonLogConfig.h"
|
| /**
| * 根据等级打印日志
| * @param component 打印对应的组件 @see UMCommonComponent
| * @param logFlag 控制打印分级的枚举变量 @see UMCommonLogFlag
| * @param file 打印日志的文件
| * @param function 打印日志的函数
| * @param line 打印的日志的行数
| * @param format 需要打印的日志格式内容
| * @param ... 可变参数
| * @dicuss 本库不需要直接调用,可以用简易函数宏 @see UMCommonLogError,UMCommonLogWarn,UMCommonLogInfo,UMCommonLogDebug
| */
| FOUNDATION_EXPORT void UMCommonLog(UMCommonComponent component,UMCommonLogFlag logFlag,const char* file,const char* function,NSUInteger line,NSString *format, ...) NS_FORMAT_FUNCTION(6,7);
|
|
| //UMCommon的日志宏
| //简易函数类似于系统的NSLog函数,线程安全
| #define UMCommonLogError(format, ...) UMCommonLog(UMCommonComponent_UMCommon,UMCommonLogFlagError,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMCommonLogWarn(format, ...) UMCommonLog(UMCommonComponent_UMCommon,UMCommonLogFlagWarning,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMCommonLogInfo(format, ...) UMCommonLog(UMCommonComponent_UMCommon,UMCommonLogFlagInfo,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMCommonLogDebug(format, ...) UMCommonLog(UMCommonComponent_UMCommon,UMCommonLogFlagDebug,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMCommonLogVerbose(format, ...) UMCommonLog(UMCommonComponent_UMCommon,UMCommonLogFlagVerbose,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
|
|
| //UMAnalytics的日志宏
| //简易函数类似于系统的NSLog函数,线程安全
| #define UMAnalyticsLogError(format, ...) UMCommonLog(UMCommonComponent_UMAnalytics,UMCommonLogFlagError,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMAnalyticsLogWarn(format, ...) UMCommonLog(UMCommonComponent_UMAnalytics,UMCommonLogFlagWarning,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMAnalyticsLogInfo(format, ...) UMCommonLog(UMCommonComponent_UMAnalytics,UMCommonLogFlagInfo,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMAnalyticsLogDebug(format, ...) UMCommonLog(UMCommonComponent_UMAnalytics,UMCommonLogFlagDebug,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMAnalyticsLogVerbose(format, ...) UMCommonLog(UMCommonComponent_UMAnalytics,UMCommonLogFlagVerbose,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
|
| //UMPush 的日志宏
| //简易函数类似于系统的NSLog函数,线程安全
| #define UMPushLogError(format, ...) UMCommonLog(UMCommonComponent_UMPush,UMCommonLogFlagError,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMPushLogWarn(format, ...) UMCommonLog(UMCommonComponent_UMPush,UMCommonLogFlagWarning,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMPushLogInfo(format, ...) UMCommonLog(UMCommonComponent_UMPush,UMCommonLogFlagInfo,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMPushLogDebug(format, ...) UMCommonLog(UMCommonComponent_UMPush,UMCommonLogFlagDebug,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMPushLogVerbose(format, ...) UMCommonLog(UMCommonComponent_UMPush,UMCommonLogFlagVerbose,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
|
| //UMShare 的日志宏
| //简易函数类似于系统的NSLog函数,线程安全
| #define UMShareLogError(format, ...) UMCommonLog(UMCommonComponent_UMShare,UMCommonLogFlagError,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMShareLogWarn(format, ...) UMCommonLog(UMCommonComponent_UMShare,UMCommonLogFlagWarning,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMShareLogInfo(format, ...) UMCommonLog(UMCommonComponent_UMShare,UMCommonLogFlagInfo,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMShareLogDebug(format, ...) UMCommonLog(UMCommonComponent_UMShare,UMCommonLogFlagDebug,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMShareLogVerbose(format, ...) UMCommonLog(UMCommonComponent_UMShare,UMCommonLogFlagVerbose,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
|
| #else
|
| #define UMCommonLog UMCommonLog##UMShareSuffix
| #define UMCommonPrefixSubNameLog UMCommonPrefixSubNameLog##UMShareSuffix
| #define registerUMComponent registerUMComponent##UMShareSuffix
| #define setUMCommonComponentLevel setUMCommonComponentLevel##UMShareSuffix
| #define getUMCommonLogManager getUMCommonLogManager##UMShareSuffix
| #define getMetaUMCommonLogManager getMetaUMCommonLogManager##UMShareSuffix
| #define checkUMCommonLogManager checkUMCommonLogManager##UMShareSuffix
| #define checkValidUMCommonLogLevel checkValidUMCommonLogLevel##UMShareSuffix
| #define doUMCommonLog doUMCommonLog##UMShareSuffix
| #define doUMCommonPrefixSubNameLog doUMCommonPrefixSubNameLog##UMShareSuffix
|
| FOUNDATION_EXPORT BOOL registerUMComponent(NSInteger component,NSString* prefixName,NSString* componentVersion);
| FOUNDATION_EXPORT BOOL setUMCommonComponentLevel(NSInteger component,NSUInteger componentLevel);
| FOUNDATION_EXPORT void UMCommonLog(NSInteger component,NSInteger logFlag,const char* file,const char* function,NSUInteger line,NSString *format, ...) NS_FORMAT_FUNCTION(6,7);
| FOUNDATION_EXPORT void UMCommonPrefixSubNameLog(NSInteger component,NSInteger logFlag,const char* prefixSubName,const char* file,const char* function,NSUInteger line,NSString *format, ...) NS_FORMAT_FUNCTION(7,8);
|
| //获得UMCommonLog.bundle的国际化的字符串宏和对应的函数
| #define UMCommonLogTableNameForUMCommonUMShareSuffix @"UMSocialPromptLocalizable"
| #define UMCommonLogBundleNameForUMCommonUMShareSuffix @"UMCommonLog"
| #define UMCommonLogBundle UMCommonLogBundle##UMShareSuffix
| FOUNDATION_EXPORT NSBundle* UMCommonLogBundle();
| #define UMLocalizedStringForUMCommonSuffix(key) NSLocalizedStringWithDefaultValue(key,UMCommonLogTableNameForUMCommonUMShareSuffix,UMCommonLogBundle(), @"", nil)
|
|
| //UMCommon的日志宏
| //简易函数类似于系统的NSLog函数,线程安全
| #define UMCommonLogError(format, ...) UMCommonLog(1,1,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMCommonLogWarn(format, ...) UMCommonLog(1,2,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMCommonLogInfo(format, ...) UMCommonLog(1,4,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMCommonLogDebug(format, ...) UMCommonLog(1,8,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMCommonLogVerbose(format, ...) UMCommonLog(1,16,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
|
| //UMCommon的分级日志宏
| #define UMCommonPrefixSubName ".Network"
| #define UMCommonPrefixSubNameLogError(format, ...) UMCommonPrefixSubNameLog(1,1,UMCommonPrefixSubName,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMCommonPrefixSubNameLogWarn(format, ...) UMCommonPrefixSubNameLog(1,2,UMCommonPrefixSubName,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMCommonPrefixSubNameLogInfo(format, ...) UMCommonPrefixSubNameLog(1,4,UMCommonPrefixSubName,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMCommonPrefixSubNameLogDebug(format, ...) UMCommonPrefixSubNameLog(1,8,UMCommonPrefixSubName,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMCommonPrefixSubNameLogVerbose(format, ...) UMCommonPrefixSubNameLog(1,16,UMCommonPrefixSubName,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
|
| #define UMCommonPrefixSubName1 ".Core"
| #define UMCommonPrefixSubNameLogError1(format, ...) UMCommonPrefixSubNameLog(1,1,UMCommonPrefixSubName1,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMCommonPrefixSubNameLogWarn1(format, ...) UMCommonPrefixSubNameLog(1,2,UMCommonPrefixSubName1,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMCommonPrefixSubNameLogInfo1(format, ...) UMCommonPrefixSubNameLog(1,4,UMCommonPrefixSubName1,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMCommonPrefixSubNameLogDebug1(format, ...) UMCommonPrefixSubNameLog(1,8,UMCommonPrefixSubName1,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMCommonPrefixSubNameLogVerbose1(format, ...) UMCommonPrefixSubNameLog(1,16,UMCommonPrefixSubName1,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
|
|
| #define UMCommonPrefixSubNameLogError2(UMCommonPrefixSubName2,format, ...) UMCommonPrefixSubNameLog(1,1,UMCommonPrefixSubName2,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMCommonPrefixSubNameLogWarn2(UMCommonPrefixSubName2,format, ...) UMCommonPrefixSubNameLog(1,2,UMCommonPrefixSubName2,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMCommonPrefixSubNameLogInfo2(UMCommonPrefixSubName2,format, ...) UMCommonPrefixSubNameLog(1,4,UMCommonPrefixSubName2,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMCommonPrefixSubNameLogDebug2(UMCommonPrefixSubName2,format, ...) UMCommonPrefixSubNameLog(1,8,UMCommonPrefixSubName2,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMCommonPrefixSubNameLogVerbose2(UMCommonPrefixSubName2,format, ...) UMCommonPrefixSubNameLog(1,16,UMCommonPrefixSubName2,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| //UMAnalytics的日志宏
| //简易函数类似于系统的NSLog函数,线程安全
| #define UMAnalyticsLogError(format, ...) UMCommonLog(2,1,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMAnalyticsLogWarn(format, ...) UMCommonLog(2,2,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMAnalyticsLogInfo(format, ...) UMCommonLog(2,4,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMAnalyticsLogDebug(format, ...) UMCommonLog(2,8,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMAnalyticsLogVerbose(format, ...) UMCommonLog(2,16,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
|
| //UMPush 的日志宏
| //简易函数类似于系统的NSLog函数,线程安全
| #define UMPushLogError(format, ...) UMCommonLog(3,1,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMPushLogWarn(format, ...) UMCommonLog(3,2,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMPushLogInfo(format, ...) UMCommonLog(3,4,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMPushLogDebug(format, ...) UMCommonLog(3,8,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMPushLogVerbose(format, ...) UMCommonLog(3,16,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
|
| //UMShare 的日志宏
| //简易函数类似于系统的NSLog函数,线程安全
| #define UMShareLogError(format, ...) UMCommonLog(4,1,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMShareLogWarn(format, ...) UMCommonLog(4,2,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMShareLogInfo(format, ...) UMCommonLog(4,4,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMShareLogDebug(format, ...) UMCommonLog(4,8,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #define UMShareLogVerbose(format, ...) UMCommonLog(4,16,__FILE__,__PRETTY_FUNCTION__,__LINE__,format,##__VA_ARGS__)
| #endif
|
|