#import <Foundation/Foundation.h>


//DmLog-----------------------------
#define DmLog_TYPE_1      1                       //日志打印 1:开/0:关
#define __DmLOGWITHFUNCTION(s, ...) \
NSLog(@"%s : %@",__FUNCTION__,[NSString stringWithFormat:(s), ##__VA_ARGS__])

#if DmLog_TYPE_1
#define DmLog_METHOD            NSLog(@"DmLog_METHOD:%@:%@-->",[[self class] description],NSStringFromSelector(_cmd))
#define DmLog(...)              __DmLOGWITHFUNCTION(__VA_ARGS__)
#define DmLog_2(DmLog_STR_2)     DmLog_METHOD,DmLog_STR_2
#else

#define DmLog_METHOD
#define DmLog(...)
#define DmLog_2(DmLog_STR_2)
#endif




#define SystemLogCreate(a) [SystemLog systemLogWithContent:[NSString stringWithFormat:@"%@",a]]  //将内容写入系统日志中

@interface SystemLog : NSObject
{
    NSDate *_date;
    NSString *_filePath;
    NSString *_content;
}


- (id)initWithContent:(NSString *)content;
+ (SystemLog *)systemLogWithContent:(NSString *)content;

@end
#import "SystemLog.h"
#import "CachesManger.h"

#define SYSTEMLOG(a,b) [NSString stringWithFormat:@"----------------------------------------------------\n%@\n\n%@\n\n",a,b]

@implementation SystemLog


- (id)initWithContent:(NSString *)content{
    if (self == [super init]) {
        [self createSystemLogFile];
        [self nowDate];
        _content = SYSTEMLOG(_date, content);
        [self saveSystemLogToTxtWithContent:_content];
    }
    return self;
}

+ (SystemLog *)systemLogWithContent:(NSString *)content{
    return [[self alloc] initWithContent:content];
}

/**
 *  创建systemLog.txt文件
 */
- (void)createSystemLogFile{
//    NSString *homePath = NSHomeDirectory();
//    NSString *systemLogPath = [homePath stringByAppendingPathComponent:@"Documents/DearMob/SystemLog"];
    
    NSString *cachePath = [CachesManger getCachesFilePath];
    NSString *filePath = [cachePath stringByAppendingPathComponent:@"systemLog.txt"];
    NSFileManager *fileManager = [NSFileManager defaultManager];
    BOOL isExists = [fileManager fileExistsAtPath:filePath];
    if (!isExists){
        [fileManager createFileAtPath:filePath contents:nil attributes:nil];
    }
//    NSFileManager *fileManager = [NSFileManager defaultManager];
//    BOOL isExists = [fileManager fileExistsAtPath:filePath];
//    if (!isExists) {
//        [fileManager createDirectoryAtPath:systemLogPath withIntermediateDirectories:YES attributes:nil error:nil];
//        [fileManager createFileAtPath:filePath contents:nil attributes:nil];
//    }
    _filePath = filePath;
}
/**
 *  获取当前时间
 */
- (void)nowDate{
    NSDate *date = [NSDate date];
    NSTimeZone *zone = [NSTimeZone systemTimeZone];
    NSInteger interval = [zone secondsFromGMTForDate: date];
    NSDate *localeDate = [date  dateByAddingTimeInterval: interval];
    _date = localeDate;
}
/**
 *  保存内容至系统日志中
 *
 *  @param content 需要添加的系统日志内容
 */
- (void)saveSystemLogToTxtWithContent:(NSString *)content{
    
    NSFileHandle *fileHandle = [NSFileHandle fileHandleForUpdatingAtPath:_filePath];
    [fileHandle seekToEndOfFile];
    NSData *resultData = [content dataUsingEncoding:NSUTF8StringEncoding];
    [fileHandle writeData:resultData];
    [fileHandle closeFile];
}

@end

 

posted on 2015-11-09 12:14  墓厄  阅读(224)  评论(0编辑  收藏  举报