利用CCLogSystem将控制台中的日志信息写入到指定文件或发送到邮箱

1.所谓日志信息,就是在控制台中输出的信息,有些情况下,我们需要将日志信息写入到指定文件或发送到邮箱给别人看,这时就可以利用CCLogSystem来实现了。[LS](链接: https://pan.baidu.com/s/1dFqSmpN 密码: hih6)
2.使用自定义的CC_LOG代替系统的NSLog,并且提供了更加详细的输出信息(时间戳 + 线程信息 + 文件名 + 代码所在行 + 方法名 + 原始打印信息),使用方法和NSLog完全一致。


CCLogSystem用法细则:

1.在AppDelegate.m中新增如下代码(利用CC_LOG_VALUE在控制台中打印出AppDelegate类中的相关信息)

#import "CCLogSystem.h"
typedef void (^TestBlock)();

- (BOOL)application:(UIApplication *)application willFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{

    [CCLogSystem setupDefaultLogConfigure];// 最好在AppDelegate类中配置CCLogSystem
    
    CC_LOG(@"%@", application);// 用自定义的CC_LOG替代系统的NSLog
    
    CC_LOG_VALUE(application);
    
    id applicationTemp = application;
    CC_LOG_VALUE(applicationTemp);
    
    CC_LOG_VALUE(self.window);
    
    CC_LOG_VALUE(self.window.frame);
    
    CC_LOG_VALUE(self.window.transform);
    
    Class applicationClass = NSClassFromString(@"UIApplication");
    CC_LOG_VALUE(applicationClass);
    
    SEL selector = @selector(application:continueUserActivity:restorationHandler:);
    CC_LOG_VALUE(selector);
    
    NSInteger test = 100;
    CC_LOG_VALUE(test);
    
    float test2 = 100.000001;
    CC_LOG_VALUE(test2);
    
    char test3 = 'a';
    CC_LOG_VALUE(test3);
    
    TestBlock testBlock = ^{
    };
    CC_LOG_VALUE(testBlock);
    
    NSObject *a = [[NSObject alloc] init];
    CC_LOG_VALUE(a);
    return YES;
}

2.执行[CCLogSystem activeDeveloperUI]获取控制台中输出的所有日志信息并显示到屏幕上。
** 还利用了CC_LOG_VALUE在控制台中打印出ViewController类中的相关信息**

#import "ViewController.h"
#import "CCLogSystem.h"
@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    UILabel *label = [[UILabel alloc]initWithFrame:CGRectMake(0, self.view.bounds.size.height / 2,self.view.bounds.size.width, 50)];
    label.text = @"请点击屏幕";
    label.textAlignment = NSTextAlignmentCenter;
    label.backgroundColor = [UIColor redColor];
    [self.view addSubview:label];
  // 利用CC_LOG_VALUE在控制台中打印出ViewController类中的相关信息
    CC_LOG_VALUE(self.view.frame);
}

-(void)touchesBegan:(NSSet<UITouch *> *)touches withEvent:(UIEvent *)event{
      // 这句代码写在哪个类中不重要,因为这句代码的作用是获取到控制台中输出的所有日志信息并显示。
       [CCLogSystem activeDeveloperUI];
}

3.运行截图


点击屏幕选中日志.png
选中Email、点击发送.png

4.具体用法详见http://www.open-open.com/lib/view/open1414900630840.html

5.崩溃日志和普通的日志有啥区别????

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容