博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS NSLog去掉时间戳及其他输出样式
阅读量:7106 次
发布时间:2019-06-28

本文共 868 字,大约阅读时间需要 2 分钟。

1.一般项目中我的NSLog会在Prefix.pch文件添加如下代码,已保证在非调试状态下NSLog不工作
 
1
2
3
4
5
#ifdef DEBUG
#define NSLog(...) NSLog(__VA_ARGS__)
#else
#define NSLog(...)
#endif

2.在项目中如果没做任何处理的话会输出如下信息,前面有一个时间戳

 
1
2014-11-07 08:25:40.885 zcsy[673:8937] cell的高度258.684998

我们修改下宏如下:

 
1
2
3
4
5
#ifdef DEBUG
#define NSLog(FORMAT, ...) fprintf(stderr,"%s\n",[[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
#else
#define NSLog(...)
#endif

经过上面的修改我们可以输出 纯净的内容如下:

 
1
cell的高度258.684998

我们可以用更好的版本我推荐用这个打印我们的日志:

 
1
2
3
4
5
#ifdef DEBUG
#define NSLog(FORMAT, ...) fprintf(stderr,"%s:%d\t%s\n",[[[NSString stringWithUTF8String:__FILE__] lastPathComponent] UTF8String], __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
#else
#define NSLog(...)
#endif

这样我们的输出就是这样:

 
1
2
//它会输出文件名,和打印的具体行号
DealItemCell.m:307 cell的高度258.684998
 

 

转载于:https://www.cnblogs.com/geek6/p/4353239.html

你可能感兴趣的文章
LeetCode - 445. Add Two Numbers II
查看>>
chrome jsonView插件安装
查看>>
【管用】 使用VMtools实现主机Windows与虚拟机Linux文件共享
查看>>
printk %pF %pS含义【转】
查看>>
C#使用ActiveMQ实例
查看>>
Spark的核心RDD(Resilient Distributed Datasets弹性分布式数据集)
查看>>
上海2017QCon个人分享总结
查看>>
自定义异常类。
查看>>
java 多线程并发 synchronized 同步机制及方式
查看>>
Python3.5爬取cbooo.cn数据并且同步到mysql中
查看>>
SQLServer性能优化专题
查看>>
Gradle安装使用以及基本操作
查看>>
VM_Centos7.3_X64_安装Oracle12C 总结笔记
查看>>
JS JSOP跨域请求实例详解
查看>>
java反射--方法反射的基本操作
查看>>
爬取本blog的所有标题和链接
查看>>
普通用户使用的命令-系统信息查看类命令
查看>>
【转】一次SpringMVC+ Mybatis 配置多数据源经历
查看>>
exception is the version of xbean.jar correct
查看>>
Hibernate demo之使用注解
查看>>