APLogMgr.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. //
  2. // APLogMgr.h
  3. // APLog
  4. //
  5. // Created by myy on 17/1/2.
  6. // Copyright © 2017年 Alipay. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. @protocol APLogZipInterface
  10. - (BOOL)createZipFile:(NSString*)zipFile;
  11. - (BOOL)addFileToZip:(NSString*)file newname:(NSString*)newname;
  12. - (BOOL)closeZipFile;
  13. @end
  14. @protocol APLogMgrDelegate
  15. - (NSString*)uploadLogUrl;
  16. - (NSString*)uploadStatusUrl;
  17. - (NSString*)currentUserId;
  18. - (id<APLogZipInterface>)makeZipObj;
  19. @optional
  20. - (BOOL)isLogFormatAssertCheck;
  21. - (BOOL)isCloseLogEncrypt;
  22. //- (BOOL)isCloseNewFormatLog;
  23. - (void)logWithoutEncrypt:(NSString*)logString;
  24. - (void)logExtra:(NSString*)tag level:(int)level logString:(NSString*)logString;
  25. @end
  26. //函数中在获取到日志时,可以通过 delegate 让外部可以获取日志并进行对应分析,将 Tag、level、logString 进行传递。
  27. // APLogListenerDelegate mpaas 专用
  28. @protocol APLogListenerDelegate <NSObject>
  29. @optional
  30. - (void)logExtra:(NSString*)tag level:(int)level logString:(NSString*)logString;
  31. @end
  32. @interface APLogMgr : NSObject
  33. @property (nonatomic, weak) id<APLogMgrDelegate> delegate;
  34. @property (nonatomic, weak) id<APLogListenerDelegate> listenerDelegate;
  35. @property (nonatomic, assign) BOOL logPrintEnable; // 日志打印开关
  36. + (APLogMgr*)sharedInstance;
  37. - (void)handleUserChanged;
  38. - (void)handleConfigUploadCmd:(NSArray*)taskArray;
  39. - (void)handleSyncUploadCmd:(NSString*)syncOpString; //处理sync下发的诊断命令
  40. - (void)handlePushDiagnosisCmd:(NSString *)pushOpString; //处理静默push下发的诊断命令
  41. - (void)handleAutoUpload:(NSDictionary*)param;
  42. - (void)addExcuteBlockAfterUpload:(void (^)(void))block;
  43. - (void)uploadLogWithAccount:(NSString*)account startDate:(NSDate*)startDate endDate:(NSDate*)endDate;
  44. @end