76 lines
2.1 KiB
Objective-C
76 lines
2.1 KiB
Objective-C
//
|
|
// ATContext.h
|
|
// ATrack
|
|
//
|
|
// Created by 卡迩 on 2018/4/23.
|
|
// Copyright © 2018年 Alipay. All rights reserved.
|
|
//
|
|
|
|
#import <Foundation/Foundation.h>
|
|
#import "ATLogger.h"
|
|
#import "ATParameters.h"
|
|
#import "ATAppenderMgr.h"
|
|
#import "ATActionMgr.h"
|
|
#import "ATConfigMgr.h"
|
|
#import "AntLogSampleCenter.h"
|
|
|
|
@class ATUploadMgr;
|
|
|
|
extern NSString *const ATBaseLoggerName; /**< 默认Logger name*/
|
|
extern NSString *const ATBehaviorLoggerName; /**< 行为埋点Logger name*/
|
|
|
|
#ifdef SDK_IS4_ALIPAY
|
|
extern NSString *const ATPerformanceLoggerName; /**< 性能埋点Logger name*/
|
|
extern NSString *const ATDataFlowLoggerName; /**< 流量监控埋点Logger name*/
|
|
extern NSString *const ATCrashLoggerName; /**< Crash埋点Logger name*/
|
|
extern NSString *const ATMonitorLoggerName; /**< 性能管理埋点Logger name*/
|
|
extern NSString *const ATLinkLoggerName; /**< 全链路监控埋点Logger name*/
|
|
extern NSString *const ATEventLoggerName; /**< 事件管理埋点Logger name*/
|
|
#endif
|
|
extern NSString *const ATCustomLoggerName;
|
|
|
|
/**
|
|
* ATrack全局上下文
|
|
*/
|
|
@interface ATContext : NSObject
|
|
|
|
@property (class, nonatomic, strong) ATParameters *parameters; /**< 全局参数*/
|
|
@property (class, nonatomic, strong) ATAppenderMgr *appenderMgr; /**< Appender管理器*/
|
|
@property (class, nonatomic, strong) ATUploadMgr *uploadMgr; /**< Upload管理器*/
|
|
@property (class, nonatomic, strong) ATActionMgr *actionMgr; /**< Action管理器*/
|
|
@property (class, nonatomic, strong) ATConfigMgr *configMgr; /**< 策略管理器*/
|
|
@property (class, nonatomic, strong) AntLogSampleCenter *sampleCenter; /**< 抽样控制管理器*/
|
|
|
|
/**
|
|
* ATContext单例
|
|
*/
|
|
+ (ATContext *)sharedInstance;
|
|
|
|
/**
|
|
* 设置 \c name 对应的Logger实例
|
|
* @param logger ATLogger子类
|
|
* @param name Logger名
|
|
*/
|
|
- (void)setLogger:(ATLogger *)logger forName:(NSString *)name;
|
|
|
|
/**
|
|
* 根据名称获取Logger实例
|
|
* @param name Logger名称
|
|
*/
|
|
- (ATLogger *)loggerForName:(NSString *)name;
|
|
|
|
@end
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
/**
|
|
* 获取ATContext实例
|
|
*/
|
|
ATContext * ATContextGet(void);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif
|