利用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.崩潰日志和普通的日志有啥區別????

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容