自定义异常信息接口

更新时间:2025-03-11 12:17:14

本文档介绍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. 自定义异常
  • 接口定义
  • 自定义异常参数说明
  • 代码示例
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等