我一直在谷歌搜索过去几个小时,发现有没有办法用代码清除NSLog输出?
就像我们clrscr()在c中一样.因此,如果我们正在尝试打印我们最想要关注的内容并且有很多日志打印,那么我们可以将代码放在那里并保持我们的愿望登录以便于搜索.这可以通过在我的NSLog线上放置断点而不是点击来完成clear console.但问题是有没有办法以编程方式实现这一点?
我发现一些问题上堆栈溢出,但我din't满意答案一样这是说,我可以释放模式等禁用日志
或者我可以使用DLog,ALog或ULog作为要求,但我的问题是不同的..
任何人都可以帮助我吗?
提前致谢 :)
您可以使用条件断点来模拟它.在代码中定义这样的函数:
int clear_console()
{
NSLog(@"\n\n\n\n\n\n\n\n");
}
Run Code Online (Sandbox Code Playgroud)
然后,当您想要清除控制台时,只需在NSLog之前添加一个断点,并具有以下条件:
expr (int) clear_console()
使用Xcode 4.3.2和lldb进行测试.
上一个答案:
AFAIK,不,没有.
如果您还没有这样做,您可以创建自定义宏来格式化输出以突出显示您想要的内容.
像这样定义宏:
#define CLEAR(...) NSLog(@"\n\n\n\n\n\n") /* enough \n to "clear" the console */
#define WTF(...) CLEAR();NSLog(@"!!!!!!!!!!!!!!");NSLog(__VA_ARGS__)
#define TRACE(__message__) NSLog(@">>>>>>>>>>>>>>> %@ <<<<<<<<<<<<<<<<<<<", __message__)
Run Code Online (Sandbox Code Playgroud)
然后:
WTF(@"This should't be here object: %@", theObject);
...
TRACE(@"Start Encoding");
...
Run Code Online (Sandbox Code Playgroud)
这不是你想要的,但它几乎解决了这个问题.您将最终得到自己的一组宏,并在控制台输出中轻松扫描自定义前缀.
| 归档时间: |
|
| 查看次数: |
2882 次 |
| 最近记录: |