美文网首页
iOS 自定义 log 格式

iOS 自定义 log 格式

作者: CoderGuogt | 来源:发表于2019-09-27 00:57 被阅读0次
#ifdef DEBUG
# define YXCLog(fmt, ...) NSLog((@"%@ ""%@ " "%d : " fmt), NSStringFromClass([self class]), NSStringFromSelector(_cmd), __LINE__, ##__VA_ARGS__);
#else
# define YXCLog(...);
#endif

写入代码测试

@implementation YXCPerson

- (instancetype)init {
    
    if (self = [super init]) {
        YXCLog(@"初始化");
        [self test];
    }
    
    return self;
}

- (void)test {
    
    int a = 10;
    YXCLog(@"%d", a)
}

@end

输出格式

YXCPerson init 22 : 初始化
YXCPerson test 32 : 10

其他格式


#define kYXCDateString ({\
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; \
[dateFormatter setDateFormat:@"YYYY-MM-dd HH:mm:ss.SSS"]; \
NSString *dateString = [dateFormatter stringFromDate:[NSDate date]]; \
dateString; \
})

#define kYXCClass [NSString stringWithFormat:@"%s", __FILE__].lastPathComponent

#ifdef DEBUG
#define YXCLog(fmt, ...) NSLog((@"%s " "%d行 : " fmt), __FUNCTION__, __LINE__, ##__VA_ARGS__);
#define YXCPrintf(...) printf("%s : %s %s %d行 : %s\n", [kYXCDateString UTF8String], [kYXCClass UTF8String], __FUNCTION__, __LINE__, [[NSString stringWithFormat:__VA_ARGS__] UTF8String]);
#else
#define YXCLog(...);
#define YXCPrintf(...);
#endif

相关文章

网友评论

      本文标题:iOS 自定义 log 格式

      本文链接:https://www.haomeiwen.com/subject/olnkuctx.html