DWLogger
描述
这是一个日志助手类,他可以帮助你在App中直接查看输出的日志,同时不影响电脑端的日志输出。
更多情况下他可以让你在未连接电脑的情况下同样可以查看输出的日志,这将会解救你的测试妹妹,发生问题他也有了一定查看问题的方式。同时他将自动备份日志至磁盘,以帮助你分析数据的时候使用,当然,他也可以自动收集崩溃日志,当测试妹妹崩溃后,你可以直接查看日志和截图而不是苦逼的去复现。他还可以帮助你为日志划分等级,以方便你分等级查看日志,同时你也可以使用搜索功能来查找特定日志。
Description
这是一个日志助手类,它允许你在 App 中直接在屏幕上读取日志,而不会影响电脑端的日志输出。
在更多情况下,它可以让你在没有连接电脑的情况下也能查看日志,这将帮助测试人员以更多方式解决问题。它还会自动将日志备份到磁盘,以便在分析数据时使用。最让人兴奋的是,它还可以自动收集崩溃日志并备份到磁盘,这样在测试人员崩溃后,你可以直接查看日志和截图,而不是辛苦地重现问题。此外,你可以将日志划分为5个等级,以便快速查看关键信息,同时你也可以使用搜索功能查找特定日志。
功能
- 自动替换 NSLog 为 DWLogNormal
- 在 App 中显示日志
- 为日志划分等级,分等级查看日志
- 自动备份日志到磁盘
- 自动收集崩溃日志并备份到磁盘,同时为崩溃前截图
- 用关键字搜索指定日志
- 即时控制是否收集日志到本地
- 日志打点功能,更快定位特征日志点
Func
- 自动替换NSLog为DWLogNormal。
- 在应用程序中显示日志。
- 将日志划分为5个级别,并查看指定级别的日志。
- 自动备份数据。
- 自动收集崩溃日志并截图。
- 使用关键字搜索指定日志。
- 实时控制保存日志到本地。
- 日志标记,帮助您找到特定日志。
如何使用
首先,你应该将所需文件拖入工程中,或者你也可以用cocoapods去集成它。
pod 'DWLogger'
然后在AppDelegate中配置DWLogger。
[DWLogManager configDefaultLogger];
如果你还想再Debug模式下收集崩溃日志,再配置下崩溃日志收集。
[DWLogManager configToCollectCrash];
到了这里,你已经开始使用DWLogger了,Logger会自动替换NSLog为DWLogNormal,所以你的所有日志都会被Logger接收。不仅在电脑端有日志输出,App端同样也有。
一般状态下他是这个样子:
点击加号会展开菜单:
从右向左总共六个按钮,我依次介绍:
右数第一个:收起状态按钮
收起菜单至收起状态,也就是一般状态。 长按为日志打点功能。
右数第二个:展示日志按钮
图例中为不可见状态,即不展示屏幕日志。点击后为可见状态,即展示屏幕日志。
上图即是展示屏幕日志的状态,当然不会有那个等级菜单。
右数第三个:控制是否收集日志至本地按钮
图例中状态为收集日志至本地状态,点击后为停止收集状态。
右数第四个:响应控制按钮
图例中为接受响应状态,及手势等控制均由屏幕日志窗口接收。点击后为拒绝响应状态,该状态屏幕日志窗口不接收响应事件,由App端接收响应。(不展示屏幕日志状态下响应控制按钮失效且默认有App端接收响应)
右数第五个:清除当前屏幕日志
点击后清除当前屏幕日志(不影响备份至磁盘的日志)
右数第六个:日志等级选择
点击后展示等级选择菜单,选择将要查看的日志等级,勾选中的等级展示,未勾选的屏蔽。再次点击或者点击屏幕中任意非按钮位置收起等级选择菜单,屏蔽日志生效。
DWLogger提供了5个日志等级:
DWLog(@"全局");
DWLogNormal(@"普通");
DWLogInfo(@"信息");
DWLogWarning(@"警告");
DWLogError(@"错误");
通过调用五个等级的API来决定日志等级。
除了六个按钮,上方还有搜索栏,用来以关键字搜索日志。
注,此处搜索日志范围为搜索前展示范围,即搜索前仅展示全局Log及NormalLog,则搜索范围也为该范围。
Usage
首先,将 dwlogger 拖入你的项目中,或者你也可以使用 cocoapods 进行集成。
pod 'DWLogger'
然后在 AppDelegate 中配置 DWLogger。
[DWLogManager configDefaultLogger];
如果你还希望在 Debug 模式下收集崩溃日志,请进行配置。
[DWLogManager configToCollectCrash];
配置完成后,就可以开始使用 DWLogger 了。Logger 会自动将 NSLog 替换为 DWLogNormal,所以所有日志都会被 Logger 接收。日志不仅在计算机端有输出,在 App 端也能查看。
一般情况下,它的外观是这样的:
点击加号按钮会展开菜单:
从右向左依次是六个按钮,我将分别介绍它们的功能:
倒数第一个按钮:收起菜单按钮
收起菜单到收起状态,也就是一般状态。长按可以进行日志标记。
倒数第二个按钮:显示日志按钮
图例中显示为不可见状态,即不显示屏幕日志。点击后变为可见状态,即显示屏幕日志。
上图就是显示屏幕日志的状态,当然不会有那个等级菜单。
倒数第三个按钮:控制是否将日志保存到本地的按钮
图例中显示为保存日志到本地的状态,点击后会停止保存。
倒数第四个按钮:交互控制按钮
如图所示处于交互启用模式,触摸将被日志窗口识别。点击按钮后日志窗口将不会识别触摸,这样您可以控制您的App。(当日志窗口不可见时,将强制不识别触摸。)
第5项:在移动屏幕上清除日志。
点击后在移动屏幕上清除日志。(对日志备份无影响。)
第6项:选择日志级别。
通过点击显示日志级别菜单,选择您希望的级别,将显示您选择的级别并屏蔽其他级别。再次点击按钮或屏幕上的其他位置可关闭日志级别菜单,然后配置将生效。
DWLogger提供5个日志级别:
DWLog(@"Global");
DWLogNormal(@"Normal");
DWLogInfo(@"Info");
DWLogWarning(@"Warning");
DWLogError(@"Error");
调用不同的API来打印不同级别的日志。
除了六个按钮外,还有一个上面的搜索栏,您可以使用关键词搜索日志。
注意!搜索范围与当前显示范围相同。换句话说,如果选择常规级别,则搜索范围是全局日志和常规日志。
联系作者
您可以通过在我的Github上给我留言或者给我发送电子邮件 [邮箱地址隐藏] 来给我提一些建议或者指出我的bug,我将不胜感激。
如果您喜欢这个小玩意儿,记得给我一个star吧,么么哒~
Contact With Me
您可以在我的Github上向我发issue或发送电子邮件至[邮箱地址隐藏]告诉我一些建议或指出bug,我将非常感激。
如果您喜欢它,请给我一个star。