HDWindowLogger 2.1.2

HDWindowLogger 2.1.2

DamonHu维护。



  • DamonHu

HDWindowLogger

在 iOS 端将输出日志 log 悬浮显示在屏幕上,可以生成日志文件分享,方便在没有连接 xcode 的情况下调试信息。可以分享、筛选 log 等操作。

iOS 端将在屏幕上显示输出日志 log,并可以生成日志文件进行分享,便于在设备未连接 xcode 的情况下调试信息。日志信息可以筛选和分享。

**从 2.0 版本开始采用 Masonry 自动布局,如果不想引用,可以使用 1.6.11 版本。Version 2.0 began to use Masonry automatic layout, if you don't want to quote, you can use version 1.6.11. **

英文文档 | Swift 版本

中文文档 | Swift版本

英文介绍

项目地址:https://github.com/DamonHu/HDWindowLogger

显示效果 Gif

除了在屏幕上显示外,您还可以设置是否自动滚动日志以进行调试,或者可以将输出日志分享到微信、twitter 等进行离线查看。同时,您可以搜索输出内容,敏感内容可以加密密码,共享文件也加密,可以在线使用密码解密。

I. 安装

您可以选择使用cocoaPod进行安装,或者直接将源文件下载到项目中。

1.1, cocoaPod 安装

pod 'HDWindowLogger'

1.2, 文件安装

您可以将 HDWindowLogger 文件夹中的文件拖拽到项目下的对应文件夹中。

II. 使用

1、导入头文件

#import "HDWindowLogger.h"

2、显示浮动窗口

[HDWindowLogger show];

3、打印日志内容

三种输出方法的字体颜色不同,对应的printLog类型也不同。

HDDebugLog(@"sss: %@",dic); 	//Debug output, the content will not be written to the window, only output in xcode
HDNormalLog(@"点击按钮"); 	//Log's textColor is green
HDWarnLog(@"点击按钮");		//log's textColor is yellow
HDErrorLog(@"点击按钮");		//Log's textColor is red
HDPrivacyLog (@"加密数据") // Output of encrypted data, the specific encryption method is described in the following encryption

输出格式

13:45:00.153  >   点击按钮

III. 更多设置

1、设置是否输出所有信息

[HDWindowLogger defaultWindowLogger].mCompleteLogOut = true;

如果设置为输出所有调试信息,输出格式如下,包括输出文件、调用行数和调用的函数

10:00:07.268   >     [File:(ViewController.m)]:[Line:(49):[Function:(-[ViewController p_click])]]-Log:
点击按钮

2、是否在Xcode底部调试栏中同步输出内容

[HDWindowLogger defaultWindowLogger].mDebugAreaLogOut = true

3、获取日志信息内容

[HDWindowLogger defaultWindowLogger].mLogDataArray

4、清除日志

[HDWindowLogger cleanLog];

5、隐藏整个日志窗口

[HDWindowLogger hide];

6, 仅隐藏日志输出窗口

[HDWindowLogger hideLogWindow];

7, 设置日志最大记录数,0为不限制,默认值是0

[HDWindowLogger setMaxLogCount:100];

IV. 敏感信息输出加密和解密

如果您希望在调试时用户看不到敏感信息,可以通过两个简单步骤进行加密:

// 1. Set the encryption password,  32 characters
[HDWindowLogger defaultWindowLogger].mPrivacyPassword = @"12345678901234561234567890123456";

// 2, output encrypted content
HDPrivacyLog (@"This is test data 222 for encrypted data")

4.2 解密显示窗口内容

设置完成后,显示窗口中的显示为 此内容已加密,请解密后查看,输入设置的加密密码并单击解密以显示正常的加密内容。

4.1. 解密共享文件

  • 如果在显示窗口中已解密数据,此刻共享文件的内容将不再加密,并将显示所有内容。
  • 如果在显示窗口中没有解密,此刻共享的文件内容为AES加密内容,您可以通过搜索AES在线解密网站来解密内容,设置如下:

  • 模式:CBC
  • 填充:Pkcs7
  • 数据块:128位
  • 偏移: abcdefghijklmnop
  • 编码:Base64
  • 字符集:UTF8
  • 密码:您在SDK中自行设置的密码

然后点击“解密”。

以下是一些推荐的网站,您也可以自行在网上搜索。

第五部分:其他说明

  1. 为了方便查看,分为普通、警告和错误三种类型,分别对应三种不同的颜色以便于查看。
  2. 点击相应的单元格可以直接将输出日志复制到系统剪贴板。
  3. 分享被调用的系统分享。您可以分享哪些软件取决于您的手机上安装了哪些软件。

简体中文介绍

项目地址:https://github.com/DamonHu/HDWindowLogger

在开发微信小程序的过程中,小程序的悬浮调试工具调用了特别舒服,想找一个iOS上的,找到了一个类似的HAMLogOutputWindow,看了下源码,是用textview编写的,但是并不能滚动查询和操作。同时考虑到打印网络请求输出量还是很大的,为了性能和后续扩展,所以用Tableview重写了一个。

展示效果GIF图

除了在屏幕上显示,可以设置是否自动滚动日志以便调试,也可以将输出的日志分享到微信、twitter等程序,以便离线查看。同时可以搜索输出内容,敏感内容可以设置密码进行加密,分享出来的文件也会进行加密,可以通过密码在线解密

一、安装

您可以选择使用cocoaPod进行安装,也可以直接下载源文件并将其拖入项目中。

1.1、cocoaPod安装

pod 'HDWindowLogger'

1.2、文件安装

您可以将工程底下的HDWindowLogger文件夹内的文件拖入项目中。

二、使用

仅需简单三步即可调用显示

1、导入头文件

#import "HDWindowLogger.h"

2、显示悬浮窗

[HDWindowLogger show];

3、 打印日志内容

三种输出方式字体颜色显示不同,对应的printLog不同的类型

HDDebugLog(@"sss: %@",dic); 	//调试输出,不会输出到窗口,只会显示在xcode调试区
HDNormalLog(@"点击按钮"); 	//日志为绿色
HDWarnLog(@"点击按钮");		//日志为黄色
HDErrorLog(@"点击按钮");		//日志为红色
HDPrivacyLog(@"点击按钮")	//加密数据的输出,具体加密方式在下面的加密中说明

输出格式

13:45:00.153  >   点击按钮

三、更多设置

通过其他设置可以实现更多功能

1、设置是否输出全部信息

[HDWindowLogger defaultWindowLogger].mCompleteLogOut = true;

如果设置为输出全部调试信息,那么输出的格式是下面这样的,包含了输出文件、调用的行数、和调用的函数

10:00:07.268   >     [File:(ViewController.m)]:[Line:(49):[Function:(-[ViewController p_click])]]-Log:
点击按钮

2、是否在xcode底部的调试栏同步输出内容

[HDWindowLogger defaultWindowLogger].mDebugAreaLogOut = true

3、获取log信息内容

[HDWindowLogger defaultWindowLogger].mLogDataArray

4、清空log

[HDWindowLogger cleanLog];

5、隐藏整个log窗口

[HDWindowLogger hide];

6、仅隐藏log输出窗口

[HDWindowLogger hideLogWindow];

7、设置log最大记录数,0为不限制,默认不限制

[HDWindowLogger setMaxLogCount:100];

四、敏感信息输出加密和解密

如果存在敏感信息,不希望用户或手机调试时看到,简单两步就可以设置加密

//1、设置加密密码,32个字符数字
[HDWindowLogger defaultWindowLogger].mPrivacyPassword = @"12345678901234561234567890123456";

//2、输出加密内容
HDPrivacyLog(@"这个是加密数据的测试数据222")

4.2、显示窗口内容解密

设置后,在显示窗口中的显示为“该内容已加密,请解密后查看”,输入设置的加密密码然后点击解密后即可显示正常的加密内容。

4.1、分享文件解密

  • 如果在显示窗解密了数据,此时分享的文件内容不会加密,会显示所有内容。
  • 如果在显示窗中未解密,此时分享出的文件内容为AES加密内容,可以搜索AES在线解密的网站去解密内容,设置参照下图:

  • 模式: CBC
  • 填充: Pkcs7
  • 数据块: 128位
  • 偏移量: abcdefghijklmnop
  • 编码: Base64
  • 字符集: UTF8
  • 密码: 你自己在sdk中设置的密码

然后点击解密即可。

这里推荐几个在线的网站,你也可以自己百度

五、其他说明

  1. 为了查看方便,分为普通、警告、错误三种类型,对应了三种不同的颜色,以便查看
  2. 点击对应的cell可以直接将输出log复制到系统剪贴板
  3. 分享调用的系统分享,可以分享到哪个软件取决于你手机上安装的有哪些软件。