GitHub项目推介_XLog

来源:互联网 发布:yum心意美食卡介绍 编辑:程序博客网 时间:2024/05/17 03:44

iOS开发调试时控制台的日志的输出缺少分级,一些出错信息往往被忽视。XLog能够在Xcode控制台使用不同颜色区分显示各级别的日志信息,这能帮助你快速的发现出错信息。在旺信项目的日志工具(WXLog)中集成了该插件功能。开启方式:在安装该插件后,开启宏开关DISABLE_COLOR_LOG。

主要是在控制台输出日志时添加日志层级标识以及对应的颜色值。实现函数如下:

+(void)outputLogInfoColorful:(NSString *)logInfo logHead:(NSString *)logHead level:(NSInteger)level   // 将日志输出控制台{    NSString *lv_tag = [WXLogUtils getLogLevelTag:level];    NSString *color = [WXLogUtils getLogLevelColor:level];        printf("%s", [color UTF8String]);    printf("%s[%s]", [WXLOG_ESC_CH UTF8String], [lv_tag UTF8String]);        printf("\n%s ", [[[NSDate date] description] UTF8String]);    if(0 == DISABLE_MORE_INFO_LOG)    {        printf("%s", [logHead UTF8String]);    }        printf("%s", [logInfo UTF8String]);        printf("%s[/%s]", [WXLOG_ESC_CH UTF8String], [lv_tag UTF8String]);    printf("%s", [WXLOG_COLOR_RESET UTF8String]);        printf("\n");}

+ (NSString *)getLogLevelTag:(NSInteger)level{    NSString *levelTag = @"INFO";    switch(level)    {        case WXLOGLEVEL_ERROR: {            levelTag =  WXLOG_LEVEL_ERROR_TAG;        } break;        case WXLOGLEVEL_WARNING: {            levelTag =  WXLOG_LEVEL_WARN_TAG;        } break;        case WXLOGLEVEL_INFO: {            levelTag =  WXLOG_LEVEL_INFO_TAG;        } break;        case WXLOGLEVEL_DEBUG: {            levelTag =  WXLOG_LEVEL_DEBUG_TAG;        } break;        default: {        } break;    }        return levelTag;}+ (NSString *)getLogLevelColor:(NSInteger)level{    NSString *color = WXLOG_COLOR_WHITE;        switch(level)    {        case WXLOGLEVEL_ERROR: {            color =  WXLOG_COLOR_RED;        } break;        case WXLOGLEVEL_WARNING: {            color =  WXLOG_COLOR_BROWN;        } break;        case WXLOGLEVEL_INFO: {            color =  WXLOG_COLOR_GREEN;        } break;        case WXLOGLEVEL_DEBUG: {            color =  WXLOG_COLOR_BLUE;        } break;        default: {        } break;    }        return color;}


这是自定义的一套配色:

#define WXLOG_ESC_CH @"\033"// colors for log level, change it as your wish#define WXLOG_COLOR_RED     WXLOG_ESC_CH @"#E8202A"#define WXLOG_COLOR_GREEN   WXLOG_ESC_CH @"#7CFC00"#define WXLOG_COLOR_BROWN   WXLOG_ESC_CH @"#DAA520"#define WXLOG_COLOR_BLUE    WXLOG_ESC_CH @"#4169E1"#define WXLOG_COLOR_WHITE   WXLOG_ESC_CH @"#FFFFFF"// hard code, use 00000m for reset flag#define WXLOG_COLOR_RESET   WXLOG_ESC_CH @"#00000m"#define WXLOG_LEVEL_DEBUG_TAG   @"DEBUG"#define WXLOG_LEVEL_INFO_TAG    @"INFO"#define WXLOG_LEVEL_WARN_TAG    @"WARN"#define WXLOG_LEVEL_ERROR_TAG   @"ERROR"

效果如下:




0 0
原创粉丝点击