// // APRemoteLogManager.h // APRemoteLogging // // Created by tashigaofei on 14-6-23. // Copyright (c) 2014年 DTF. All rights reserved. // #import #import "DTFLogFile.h" #import "DTFLogFormatter.h" typedef void (^NetworkUploadCompletion)(BOOL); typedef void (^NetworkUploadBlock)(NSDictionary *,NetworkUploadCompletion); @class MPLoggingContext; @interface DTFLogManager : NSObject @property(nonatomic, copy) NetworkUploadBlock networkUploadBlock; typedef void (^LogCallback)(NSDictionary *logData); +(instancetype)sharedInstance; + (void)setLogCallback:(LogCallback)logCallback; -(void)writeLogWithContext:(MPLoggingContext *) context; -(void)flushAllLog; -(void)setupTimeForCheckFileSize; -(void)checkLogs; - (void)startUploadLog; @end @interface MPLoggingContext : NSObject @property (nonatomic, assign) MPLogType logType; @property (nonatomic, strong) DTFLogFormatter *formatter; @property (nonatomic, strong) NSMutableDictionary * logDict; @property (nonatomic, strong) NSString *bizType; @end NSString * MPLogPathForFile(NSString * name); DTFLogFile* DTFLogFileForContext(MPLoggingContext *context); NSData* MPLogRSAEncrypt(NSData * data); NSString*MPLogAESEncrypt(NSString *key, NSString *data); NSString* MPLogBase64EncodedString(NSData *data, int wrapWidth); NSData*MPLogBase64DecodedString(NSString *string); NSString* MPLogMD5String(NSString *string); NSData* MPLogGZipCompress(NSData *data); NSString* MPLogGetNetworkName(); NSString *MPLogGetCarrierName(); typedef enum : NSInteger { MPLogNotReachable = 0, MPLogReachableViaWiFi, MPLogReachableViaWWAN } MPLogNetworkStatus; @interface MPSafeMap : NSObject - (id)objectForKeyedSubscript:(id )key; - (void)setObject:(id)obj forKeyedSubscript:(id )key; - (void)removeObjectForKey:(id)aKey; @end