本文档介绍APM iOS SDK 提供的自定义异常信息接口,包括自定义日志、自定义维度、自定义异常。
1. 获取崩溃分析实例
获取崩溃分析EAPMCrashAnalysis实例,该实例是一个单例对象。
接口定义
+ (instancetype)crashAnalysis;
代码示例
Object C
#import "AlicloudApmCrashAnalysis/AlicloudApmCrashAnalysis.h"
EAPMCrashAnalysis *crashAnalysis = [EAPMCrashAnalysis crashAnalysis];
2. 自定义日志
通过崩溃分析EAPMCrashAnalysis日志接口,可以增加自定义日志,该日志会跟随崩溃信息一起上报。
接口定义
/**
* 记录自定义日志
*
* @param msg 要记录的消息
*/
- (void)log:(NSString *)msg;
/**
* 记录自定义日志
*
* @param format 字符串格式
* @param ... 格式替换参数
*/
- (void)logWithFormat:(NSString *)format, ... NS_FORMAT_FUNCTION(1, 2);
自定义日志参数说明
参数 | 类型 | 是否必填 | 长度范围 | 说明 |
参数 | 类型 | 是否必填 | 长度范围 | 说明 |
msg | NSString | 是 | 1~64000 | 自定义日志消息,超出长度会被截断 |
format | NSString | 是 | 1~64000 | 自定义日志格式化字符串,格式化之后超出长度会被截断 |
代码示例
Object C
#import "AlicloudApmCrashAnalysis/AlicloudApmCrashAnalysis.h"
[[EAPMCrashAnalysis crashAnalysis] log:@"custome log"];
[[EAPMCrashAnalysis crashAnalysis] logWithFormat:@"This is my custom_value=%@", @"custom_value"];
3. 自定义维度
通过崩溃分析EAPMCrashAnalysis维度接口,可以增加自定义维度,SDK最多记录64个自定义维度。
接口定义
/**
* 设置自定义维度的键值对
*
* @param value 值
* @param key 唯一键
*/
- (void)setCustomValue:(nullable id)value forKey:(NSString *)key;
/**
* 批量设置自定义维度的键值对
*
* @param keysAndValues 键值对
*/
- (void)setCustomKeysAndValues:(NSDictionary *)keysAndValues;
自定义维度参数说明
参数 | 类型 | 是否必填 | 长度范围 | 说明 |
参数 | 类型 | 是否必填 | 长度范围 | 说明 |
value | id | 否 | 0~128 | 自定义维度的值,调用其自身description方法转换为字符串 |
key | NSString | 是 | 1~128 | 自定义维度的键 |
代码示例
Object C
#import "AlicloudApmCrashAnalysis/AlicloudApmCrashAnalysis.h"
[[EAPMCrashAnalysis crashAnalysis] setCustomValue:@"value" forKey:@"key"];
[[EAPMCrashAnalysis crashAnalysis] setCustomKeysAndValues:@{
@"key1":@"value1",
@"key2":@"value2",
}];
4. 自定义异常
通过崩溃分析EAPMCrashAnalysis异常接口,可以记录自定义异常,SDK最多记录8条自定义异常。
接口定义
/**
* 记录异常对象
*
* @param error 异常对象
*/
- (void)recordError:(NSError *)error;
/**
* 记录异常对象
*
* @param error 异常对象
* @param userInfo 附加键值对
*/
- (void)recordError:(NSError *)error
userInfo:(nullable NSDictionary<NSString *, id> *)userInfo;
自定义异常参数说明
参数 | 类型 | 是否必填 | 说明 |
参数 | 类型 | 是否必填 | 说明 |
error | NSError | 是 | 异常对象 |
userInfo | NSDictionary<NSString *, id> | 否 | 附加键值对,最多64条键值对,key&value长度均不能超过128 |
代码示例
Object C
#import "AlicloudApmCrashAnalysis/AlicloudApmCrashAnalysis.h"
NSError *error = [NSError errorWithDomain:@"customError" code:10001 userInfo:@{@"errorInfoKey":@"errorInfoValue"}];
[[EAPMCrashAnalysis crashAnalysis] recordError:error];
[[EAPMCrashAnalysis crashAnalysis] recordError:error userInfo:@{
@"key1":@"value1",
@"key2":@"value2",
}];
该文章对您有帮助吗?
- 本页导读 (0)
- 1. 获取崩溃分析实例
- 接口定义
- 代码示例
- 2. 自定义日志
- 接口定义
- 自定义日志参数说明
- 代码示例
- 3. 自定义维度
- 接口定义
- 自定义维度参数说明
- 代码示例
- 4. 自定义异常
- 接口定义
- 自定义异常参数说明
- 代码示例