iOS第三方库-CocoaLumberjack-DDLog 使用

来源:互联网 发布:安居客网络经纪人平台 编辑:程序博客网 时间:2024/05/16 02:23

原文地址: http://blog.sina.com.cn/s/blog_7b9d64af0101kkiy.html

大概需要三个步骤:

一、安装xCode扩展插件XcodeColors

二、引入第三方库CocoaLumberjack

三、修改NSLogDDLog方式。


一、安装xCode扩展插件XcodeColors

1.下载地址:https://github.com/robbiehanson/XcodeColors

2.下载完成后,打开XcodeColors项目,编译即可。它会在你的电脑中安装插XcodeColors.xcplugin。具体路径在:~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/XcodeColors.xcplugin(可以去瞅一眼)。

3.退出xCode,重新打开。

4.运行TestXcodeColors项目,尝试,是否安装成功。


二、引入第三方库CocoaLumberjack

1.下载DDLog。下载地址:https://github.com/CocoaLumberjack/CocoaLumberjack

2.DDLog添加到你的项目中。


三、修改NSLogDDLog方式。

这一步,其实很简单,主要是弄懂DDLog是如何使用的。

下载地址里,有详细说明,在这里,就简单的说一下吧。


1.初始化DDLog


DDLog:基础类,必须引入的。

DDASLLogger:支持将调试语句写入到苹果的日志中。一般正对Mac开发。可选。

DDTTYLogger:支持将调试语句写入xCode控制台。我们即使要用它。可选。

DDFileLogger:支持将调试语句写入到文件系统。可选。


2.DDLog日志种类。


DDLog的输出级别默认提供以下若干种:

DDLogError:定义输出错误文本

DDLogWarn:定义输出警告文本

DDLogInfo:定义输出信息文本

DDLogDebug:定义输出调试文本

DDLogVerbose:定义输出详细文本


提供的日志级别为:

LOG_LEVEL_ERROR:只显示错误日志。

LOG_LEVEL_WARN:包括:LOG_LEVEL_ERROR

LOG_LEVEL_INFO:包括:LOG_LEVEL_WARN

LOG_LEVEL_DEBUG:包括:LOG_LEVEL_INFO

LOG_LEVEL_VERBOSE:包括:LOG_LEVEL_DEBUG

LOG_LEVEL_OFF:关闭日志


3.使用DDLog.


直接贴代码:


static const int ddLogLevel = LOG_LEVEL_VERBOSE;// 定义日志级别

[DDLog addLogger:[DDTTYLogger sharedInstance]];// 初始化DDLog日志输出,在这里,我们仅仅希望在xCode控制台输出

[[DDTTYLogger sharedInstance] setColorsEnabled:YES];// 启用颜色区分

DDLogError(@"错误信息"); // 红色

DDLogWarn(@"警告"); // 橙色

DDLogInfo(@"提示信息"); // 默认是黑色

DDLogVerbose(@"详细信息"); // 默认是黑色


以上是最简单的应用,当然,可以自定义每种日志的颜色,看需求吧。

[DDLog addLogger:[DDASLLogger sharedInstance]];// 如果需要,可以添加其他的日志输出支持

    [[DDTTYLogger sharedInstance] setForegroundColor:[UIColor blueColor]backgroundColor:nil forFlag:LOG_FLAG_INFO];// 可以修改你想要的颜色



日志颜色 如果没有正确显示 可参照这篇文章设置  http://www.w2bc.com/Article/74050

这个框架的好处之一就是它的灵活性,如果你还想要你的日志语句写入到一个文件中,你可以添加和配置一个file logger:

  _fileLogger = [[DDFileLoggeralloc] init];

  _fileLogger.rollingFrequency =60 * 60 * 24;// 24 hour rolling

  _fileLogger.logFileManager.maximumNumberOfLogFiles =7;

  [DDLogaddLogger:_fileLogger];


/**
 * 获得系统日志的路径
 **/
-(NSArray*)getLogPath
{
    
     NSString *docPath = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0];
    
     NSString * logPath = [docPath stringByAppendingPathComponent:@"Caches"];
    logPath = [logPath stringByAppendingPathComponent:@"Logs"];
  
    
    NSFileManager * fileManger = [NSFileManager defaultManager];
    NSError * error = nil;
    NSArray * fileList = [[NSArray alloc]init];
    fileList = [fileManger contentsOfDirectoryAtPath:logPath error:&error];
    NSMutableArray * listArray = [[NSMutableArray alloc]init];
    for (NSString * oneLogPath in fileList)
    {
        if([oneLogPath characterAtIndex:0 ] == 'l')
        {
            NSString * truePath = [logPath stringByAppendingPathComponent:oneLogPath];
            [listArray addObject:truePath];
        }
    }
    return listArray;
    

 
}

参考 文章链接 http://blog.csdn.net/tianyitianyi1/article/details/50135241




0 0