美文网首页YLiOS
使用CocoaLumberjack自定义打印Log的步骤

使用CocoaLumberjack自定义打印Log的步骤

作者: 佘红响 | 来源:发表于2015-11-03 21:22 被阅读487次

     第一:下载并安装XcodeColors

     第二:引入第三方库CocoaLumberjack(可以从CocoaPods中安装,但是记得不要下载成swift用的)


    第三:点击Edit Scheme,在run中的Environment variables 中增加Name:XcodeColors,并设置Value:YES


    第四:在pch文件中增加包含 #import “CocoaLumberjack.h”和定义日志级别。(当然也可以在这个框架的基础上,自定义自己的HXLog.h,然后将HXLog.h加到pch中),这里给了我自定义的打印头文件,HXLog.h

    #ifndef HXLog_h

    #define HXLog_h

    #import "CocoaLumberjack.h"

    /* -------------------------------------------------------------- */

    日志的级别有如下几种:

    LOG_LEVEL_ERROR  :  如果设置为LOG_LEVEL_ERROR, 仅仅能看到Error相关的日志输出。

    LOG_LEVEL_WARN    :  如果设置为LOG_LEVEL_WARN,  能看到Error、Warn相关的日志输出。

    LOG_LEVEL_INFO    :  如果设置为LOG_LEVEL_INFO,  能够看到Error、Warn、Info相关的日志输出。

    LOG_LEVEL_DEBUG  :  如果设置为LOG_LEVEL_DEBUG, 能够看到Error/Warn/Info/Debug相关的日志输出。

    LOG_LEVEL_VERBOSE :  如果设置为LOG_FLAG_VERBOSE,能够看到所有级别的日志输出。

    LOG_LEVEL_OFF    :  不输出日志。

    /* -------------------------------------------------------------- */

    #ifdef DEBUG    // 调试阶段,打印所有日志

    static const int ddLogLevel = DDLogLevelVerbose;

    //static const int ddLogLevel = DDLogLevelDebug;

    //static const int ddLogLevel = DDLogLevelError;

    //static const int ddLogLevel = DDLogLevelInfo;

    //static const int ddLogLevel = DDLogLevelWarning;

    #else            // 发布阶段,不打印日志

    static const int ddLogLevel = DDLogLevelOff;

    #endif

    // 注意: 如果不需要自定义打印,可以直接将上面的设置放入pch中即可

    #define HXLogVerbose(fmt, ...)    DDLogVerbose((@"[%@][%d] " fmt),[[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, ##__VA_ARGS__)

    #define HXLogInfo(fmt, ...)      DDLogInfo((@"[%@][%d] " fmt),[[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, ##__VA_ARGS__)

    #define HXLogDebug(fmt, ...)      DDLogDebug((@"[%@][%d] " fmt),[[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, ##__VA_ARGS__)

    #define HXLogWarn(fmt, ...)      DDLogWarn((@"[%@][%d] " fmt),[[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, ##__VA_ARGS__)

    #define HXLogError(fmt, ...)      DDLogError((@"[%@][%d] " fmt),[[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, ##__VA_ARGS__)

    // 打印方法名

    #define HXLogFunc HXLogInfo(@"%s", __func__);

    #endif 

    第五:在AppDelegate.m的- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions方法中调用自定义的如下方法:

    #pragma mark - 设置DDLog

    - (void)setUpLog {

    // CocoaLumberjack开启颜色分级

    [DDTTYLogger sharedInstance].colorsEnabled = YES;

    [DDLog addLogger:[DDTTYLogger sharedInstance]];

    [[DDTTYLogger sharedInstance] setForegroundColor:[UIColor blueColor] backgroundColor:nil forFlag:DDLogFlagInfo];//设置INFO级别的日志的颜色为橙色

    }

    注意:还有很多设置可以自由发挥

    相关文章

      网友评论

        本文标题:使用CocoaLumberjack自定义打印Log的步骤

        本文链接:https://www.haomeiwen.com/subject/dkiqhttx.html