You need to enable JavaScript to run this app.
文档中心
应用性能监控全链路版

应用性能监控全链路版

复制全文
下载 pdf
SDK 接入
Alog 日志
复制全文
下载 pdf
Alog 日志
平台给指定用户下发回捞日志的命令,将自定义日志信息上传,便于开发者单点追查、定位问题。​
前提条件​
初始化Parfait SDK。持有初始化成功的parfait_wrapper_ptr指针。具体请参见接入说明。​
步骤一:写入日志​
  1. 初始化ALog。​
  • 初始化SDK成功后,会创建alog_dir/alog/cache和alog_dir/alog/log两个文件夹。​
  • ​
    /**​
    * 初始化alog​
    * @param alog_dir alog文件的存储路径,绝对路径​
    * @param process_name 进程名​
    */​
    void ParfaitWrapperBase::InitAlog(const char* alog_dir, const char* process_name);​
    ​
  1. 写日志。​
  • ​
    /**​
    * 写Alog日志​
    * @param tag tag内容​
    * @param msg 日志内容​
    */​
    void ParfaitWrapperBase::WriteAlog(const char* tag, const char* msg);​
    ​
    //示例代码​
    parfait_wrapper_ptr->WriteAlog("alog_test", "你好");​
    ​
  • 日志格式如下所示:​
  • ​
    // format:​
    [YYYY-MM-DD TIMEZONE HH-MM-SS.SSS][PID:THREADID][LEVEL][TAG][,] MESSAGE​
    // example:​
    [2021-04-09 GMT+08:00 15:54:48.028][57999:1717306][I][alog_test][, , ]新的测试​
    ​
步骤二:上报日志​
回捞命令上报​
功能介绍:用户在代码打开云控回捞功能后,parfait会轮询下发云控命令的接口并上报指定文件。用户可以在日志回捞页面下发云控命令,回捞指定DID的文件。​
使用方法:用户可以自定义轮询间隔。​
​
/**​
* 开启云控回捞功能​
* @param interval 轮询频率,单位ms,不设置默认30s​
*/​
void ParfaitWrapperBase::OpenCloudMessage(long interval_ms = 30 * 1000);​
​
//示例代码​
parfait_wrapper_ptr->OpenCloudMessage(long interval);​
​
开启之后可在日志回捞界面单击右上角的新增配置下发回捞命令。​
​图片​​
配置项说明:​
​
参数​
说明​
Device id​
设备ID。目前仅支持按DID回捞。​
配置有效时间​
默认为24小时。​
配置类型​
Alog日志回捞。​
指令​
Alog日志回捞。​
​
用户上线后收到回捞指令,平台上显示命令已下发。客户端开始上报相应的文件,上报成功后,用户可以下载ALog文件查看内容。​
客户端主动上报​
功能介绍:主动上报某时间段的alog日志。​
适用场景:根据业务需求主动上报。​
​
接口一:不关心是否上传成功​
/**​
* @param start_time 开始时间戳,精确到秒​
* @param end_time 结束时间戳,精确到秒​
*/​
void ParfaitWrapperBase::UploadAlog(long start_time, long end_time);​
​
// e.g.: ​
parfait_wrapper_ptr->UploadAlog(1620662400, 1610662400);​
​
接口二:需要获取上传结果,并注入上下文信息​
/**​
* @brief Uploads alog files from start_time_s to end_time_s. This is a async API.​
*​
* @param start_time_s Timestamp. The unit is second.​
* @param end_time_s Timestamp. The unit is second.​
* @param custom_context This custom context will be passed back through AlogUploadDetailsCallback.​
* @param nullable_callback Returns upload result.​
*/​
void UploadAlogWithCallback(long start_time_s, ​
long end_time_s,​
void* custom_context,​
const AlogUploadDetailsCallback nullable_callback);​
​
// e.g.:​
void AlogCallback(bool is_success, int total_file_count, int success_count, ​
const char* error_msg, void* custom_context) {​
if (!is_success && total_file_count == 0) {​
printf("Failed to uploaded alog,because there isn't any alog files. \n");​
}​
if (is_success) {​
printf("Uploaded %d alog files to apmplus.\n", success_count);​
} else {​
printf("Failed to uploaded %d alog files to apmplus. Success num: %d, error_msg: %s.\n", total_file_count, success_count, error_msg);​
}​
if (custom_context) {​
printf("This is my context: %s. \n", (char*)custom_context);​
}​
}​
​
​
void UploadAlog() {​
char context[100] = "my context";​
long timenow_second = static_cast<long>(time(nullptr));​
// 上传前三十分钟的alog​
parfait_wrapper_ptr->UploadAlogWithCallback(timenow_second - 30 * 60, timenow_second, context, &AlogCallback);​
}​
​
​
崩溃上报​
功能介绍:主动上报异常时间前半小时的alog日志,并展示在异常详情页上。​
​图片​​
适用场景:parfait初始化SDK和alog后调用。​
  • 如果使用了parfait的crashpad,崩溃后会实时上传前半小时的alog文件。​
  • 如果仅使用parfait上报crash,上传crash时也会上报前半小时的alog文件。​
​
/**​
* 三端通用​
* 开启后,发生异常/上报异常时parfait自动上传崩溃前半小时的alog文件​
*/​
void ParfaitWrapperBase::UploadAlogIfCrashed();​
​
//示例代码 ​
parfait_wrapper_ptr->UploadAlogIfCrashed();​
​
步骤三:查看日志​
日志文件查询页面展示回捞、崩溃、主动上报的alog日志,页面下alog日志已解密。​
​图片​​
​
最近更新时间:2025.09.01 20:39:05
这个页面对您有帮助吗?
有用
有用
无用
无用