自定义NSLog

本文介绍了一种在Debug模式下使用的自定义NSLog方法。该方法通过宏定义实现,可在输出日志时附带时间戳、文件名、行号及函数名等信息,便于开发者快速定位问题。但请注意,这种方法可能会对程序运行速度造成一定影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#if DEBUG

#define NSLog(FORMAT, ...) {\

                NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];\

                [dateFormatter setDateStyle:NSDateFormatterMediumStyle];\

                [dateFormatter setTimeStyle:NSDateFormatterShortStyle];\

                [dateFormatter setDateFormat:@"HH:mm:ss:SSSSSS"];\

                NSString *str = [dateFormatter stringFromDate:[NSDate date]];\

                fprintf(stderr,"\ntime:%s fileName:%s line:%d function:%s content:%s\n", [str UTF8String], [[[NSString stringWithUTF8String:__FILE__] lastPathComponent]UTF8String], __LINE__, __FUNCTION__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);\

}

#else

#define NSLog(FORMAT, ...) nil

#endif


note:

  1. 该自定义NSLog只在DEBUG模式下有效。
  2. 该自定义NSLog放在了.pch文件中,经测试发现,对程序运行速度有一定影响,根据自己需要,慎重选择吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值