学习lumberjack framework(深入版)


也许看了上面的简单介绍,不知道如何去设置打印的级别,其实很简单,我的做法是构造一个头文件,因为我们会在很多的文件中用到这个级别设定,所以我们单独列出来,那个文件用只需要去引用头文件即可
在头文件中写入如下代码
#import "DDLog.h"
#import "DDTTYLogger.h"
#import "DDASLLogger.h"
#import "DDFileLogger.h"


#if DEBUG
static const int ddLogLevel = LOG_LEVEL_VERBOSE;
#else
static const int ddLogLevel = LOG_LEVEL_INFO;
#endif

 其中if中是调试的时候的级别,下面else的级别是发布版本的时候的日志的级别,例如,我们希望向服务器抛出一些异常,那么我们就可以把debug级别设为LOG_LEVEL_VERBOSE 把发布版本的日志级别设为LOG_LEVEL_ERROR,这样在发布的时候,应用程序只会把用DDLogError输出的日志,写到文件中,文件在应用程序的沙盒路径的Caches的Logs文件夹中,我们要做的就是把这个文件夹发到服务器上。发布的方法如下

/**
 * 获得系统日志的路径
 **/
-(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;
    

 
}

 

 
posted @ 2012-10-08 13:46  我就是小伟哥  阅读(483)  评论(0编辑  收藏  举报