#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