1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677 |
- //
- // PBLogLocalTools.h
- // PBSDK
- //
- // Created by LStar on 2025/1/16.
- //
- #import <Foundation/Foundation.h>
- typedef NS_ENUM(NSUInteger, PBLogFlag) {
- PBLogFlagError = (1 << 0),
- PBLogFlagWarning = (1 << 1),
- PBLogFlagInfo = (1 << 2),
- PBLogFlagDebug = (1 << 3),
- PBLogFlagVerbose = (1 << 4)
- };
- typedef NS_ENUM(NSUInteger, PBLogLevel) {
- PBLogLevelOff = 0,
- PBLogLevelError = (PBLogFlagError),
- PBLogLevelWarning = (PBLogLevelError | PBLogFlagWarning),
- PBLogLevelInfo = (PBLogLevelWarning | PBLogFlagInfo),
- PBLogLevelDebug = (PBLogLevelInfo | PBLogFlagDebug),
- PBLogLevelVerbose = (PBLogLevelDebug | PBLogFlagVerbose),
- PBLogLevelAll = NSUIntegerMax
- };
- #define PB_LOG_MACRO(isAsynchronous, flg, ctx, atag, fnct, frmt, ...) \
- [[PBLogLocalTools sharedTools] log : isAsynchronous \
- flag : flg \
- context : ctx \
- file : __FILE__ \
- function : fnct \
- line : __LINE__ \
- tag : atag \
- format : (frmt), ##__VA_ARGS__]
- #define PBLogError(frmt, ...) PB_LOG_MACRO(NO, PBLogFlagError, 0, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)
- #define PBLogWarn(frmt, ...) PB_LOG_MACRO(YES, PBLogFlagWarning, 0, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)
- #define PBLogInfo(frmt, ...) PB_LOG_MACRO(YES, PBLogFlagInfo, 0, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)
- #define PBLogDebug(frmt, ...) PB_LOG_MACRO(YES, PBLogFlagDebug, 0, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)
- #define PBLogVerbose(frmt, ...) PB_LOG_MACRO(YES, PBLogFlagVerbose, 0, nil, __PRETTY_FUNCTION__, frmt, ##__VA_ARGS__)
- @interface PBLogLocalTools : NSObject
- ///是否启用日志
- @property (nonatomic,assign)BOOL enable;
- ///使用控制台打印 就不会记录日志
- @property (nonatomic,assign)BOOL isUseConsole;
- ///工具
- + (instancetype)sharedTools;
- ///清空日志
- - (BOOL)clearLogs;
- ///日志存放地址
- - (NSString *)logFilePath;
- ///写入日志
- - (void)log:(BOOL)asynchronous
- flag:(PBLogFlag)flag
- context:(NSInteger)context
- file:(const char *)file
- function:(const char *)function
- line:(NSUInteger)line
- tag:(id)tag
- format:(NSString *)format, ...;
- @end
|