博客> 微信终端跨平台组件 Mars 系列 - 日志模块XLog在OC中的使用
微信终端跨平台组件 Mars 系列 - 日志模块XLog在OC中的使用
2017-12-12 09:10 评论:0 阅读:750 lvhahaha
日志XLog Mars

1.在使用的过程中,首先把SDK下载下来,拉入自己的项目。  屏幕快照 2017-09-18 上午10.04.27.png

2.然后在AppDelegate中引入头文件。  屏幕快照 2017-09-19 上午9.25.43.png

代理方法中加入代码

  • (void)applicationWillTerminate:(UIApplication *)application { // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.

     appender_close();

    }

3.在main文件中加入代码,配置log地址,kLevelDebug,kLevelInfo,两种开发环境配置

 屏幕快照 2017-09-18 上午10.15.34.png

 int main(int argc, char * argv[]) {
       @autoreleasepool {
       // xlog设置
        NSString* logPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, 
        NSUserDomainMask, YES) objectAtIndex:0] stringByAppendingString:@"/log"];

    LOG_C_DEBUG(nil, @"logPath == %@", logPath);

    // set do not backup for logpath
    const char* attrName = "com.apple.MobileBackup";
    u_int8_t attrValue = 1;
    setxattr([logPath UTF8String], attrName, &attrValue, sizeof(attrValue), 0, 0);

    // init xlog
   #if DEBUG
    xlogger_SetLevel(kLevelDebug);
    appender_set_console_log(true);
   #else
    xlogger_SetLevel(kLevelInfo);
    appender_set_console_log(false);
   #endif
    appender_open(kAppednerAsync, [logPath UTF8String], "****");  *** 这个名字自定义

    return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
}

}

4.把xlog的C++代码转换为oc使用。代码demo 地址 http://code.cocoachina.com/view/136100

5.使用  屏幕快照 2017-09-18 上午10.24.51.png 主要是使用这三类进行项目log的打印。 LOG_INFO,LOG_WARNING,LOG_ERROR可根据自己项目需求,所打印的文件会储存到logPath下。 若需要进行log文件上传自己服务器,则只需把logPath拿到的文件上传即可。

6.提示,由于log是使用C++进行开发的,所以oc文件的.m需要修改为.mm环境。

腾讯Xlogdemo地址 https://github.com/Tencent/mars/tree/master/samples

收藏
3
sina weixin mail 回到顶部