
#ifdef DEBUG
#define Log(s, ...) NSLog(s, ##__VA_ARGS__)
#else
#define Log(s, ...)
#endif
@interface Logger : NSObject {
}
+ (NSString*)path;
+ (void)write:(NSString*)str;
+ (NSString*)read;
+ (void)remove;
@end
#import "Logger.h"
@implementation Logger
+ (NSString*)path{
NSString *docsDirectory = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *path = [docsDirectory stringByAppendingPathComponent:@"log.txt"];
return path;
}
+ (void)write:(NSString*)str{
#ifdef DEBUG
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"HH.mm.ss"];
NSString* log = [NSString stringWithFormat:@"%@-%@\n\r" , [dateFormatter stringFromDate:[NSDate date]] , str];
[dateFormatter release];
NSString* storeLog = [Logger read] ? [Logger read] : @"";
NSData *dataToWrite = [[NSString stringWithString:[storeLog stringByAppendingString:log]] dataUsingEncoding:NSUTF8StringEncoding];
[dataToWrite writeToFile:[Logger path] atomically:YES];
#endif
}
+ (NSString*)read{
return [[[NSString alloc] initWithContentsOfFile:[Logger path]] autorelease];
}
+ (void)remove{
NSFileManager *fileManager = [NSFileManager defaultManager];
if ([fileManager fileExistsAtPath:[Logger path]]){
[fileManager removeItemAtPath:[Logger path] error:NULL];
}
[fileManager release];
}
@end
#ifdef DEBUG
#if TARGET_IPHONE_SIMULATOR == 0
Log([Logger read]);
[Logger remove];
#endif
#endif
댓글 없음:
댓글 쓰기