移动直播、实时音视频、即时通信终端sdk日志输出配置

2024-09-09 21:30:16 浏览数 (1)

简介

音视频产品、即时通信都有默认把sdk运行的log输出到本地文件,腾讯云技术支持在帮忙定位问题时,需要这些运行log分析问题。默认输出文件的路径如下表格。可修改输出文件路径、可过滤日志等级、可关闭日志输出。

本地log路径

sdk

产品线

平台

日志路径

LiteAVSDK

UGC

iOS&安卓

iOS&Mac: sandbox的Documents/log Android: /sdcard/log/tencent/liteav (6.7以前的版本); /sdcard/Android/data/packagename/files/log/tencent/liteav/LiteAV_日期.xlog(6.8之后的版本); /sdcard/Android/data/packagename/files/log/liteav/LiteAV_日期.xlog(8.5之后的版本)补充1:packagename是指安卓app的包名补充2:9.9版本后,日志文件是后缀名.cLog文件Windows: %appdata%/tencent/liteav/log (8.7之前的版本);C:Users{userId}AppDataRoamingliteavlog(8.8之后的版本)Web: 打开浏览器控制台,或使用vConsole记录 SDK 打印信息 小程序: 启用和标签的debug属性,使用vConsole记录打印信息

Player

iOS&安卓&web

Smart

iOS&安卓&小程序

TRTC

iOS&Mac&安卓&小程序&Windows&Web

Professional

iOS&安卓

Enterprise

iOS&安卓

IMSDK

IM

iOS&Mac&安卓&小程序&Windows&Web

iOS&Mac:日志默认路径在 App 目录下:Library/Caches/imsdk_C_YYYYMMDD.xlog安卓:默认日志存储路径为:SD 卡下,/tencent/imsdklogs/packageName/(4.8.10以前的版本路径); /sdcard/Android/data/packageName)/files/log/tencent/imsdk/imsdk_日期.xlog(4.8.50版本修改成这个新路径了)Windows:.exe文件的同级目录Web: 打开浏览器控制台,或使用vConsole记录 SDK 打印信息 小程序: 使用vConsole记录打印信息

修改log路径

sdk

产品线

平台

修改

LiteAVSDK

SmartUGCPlayerProfessionalEnterprise

iOS&Mac

//设置日志输出等级,最高级可关闭TXLiveBase setLogLevel:LOGLEVEL_DEBUG;

安卓

//设置日志输出等级,,最高级可关闭TXLiveBase.setLogLevel(TXLiveConstants.LOG_LEVEL_DEBUG);

TRTC

iOS&Mac

//设置输出 Log 级别,最高级可关闭TRTCCloud setLogLevel:TRTCLogLevelDebug//修改日志路径TRTCCloud setLogDirPath:(NSString *)path

安卓

//设置输出 Log 级别,最高级可关闭trtcCloud.setLogLevel(TRTCCloudDef.TRTC_LOG_LEVEL_DEBUG);//修改日志路径trtcCloud.setLogDirPath(string);

Windows

//设置输出 Log 级别,最高级可关闭getTRTCCloud()->setLogLevel(TRTC_LOG_LEVEL_DEBUG);//修改日志路径getTRTCCloud()->setLogDirPath(const char * path);

IMSDK

IM

iOS&Mac

@interface TIMSdkConfig : NSObject //本地写 log 文件的等级,最高级可关闭@property(nonatomic,assign) TIMLogLevel logLevel;//log 文件路径,不设置时为默认路径@property(nonatomic,retain) NSString * logPath;

安卓

//设置写日志等级,最高级可关闭TIMSdkConfig setLogLevel(@NonNull TIMLogLevel logLevel) //设置日志路径,不设置时为默认路径TIMSdkConfig setLogPath(@NonNull String logPath)

Windows

static const char* kTIMSdkConfigConfigFilePath ="sdk_config_log_file_path"std::string json_init_cfg; Json::Value json_value_init; json_value_initkTIMSdkConfigConfigFilePath = path; TIMInit(sdk_app_id, json_value_init.toStyledString().c_str());

取log常见做法

运行log只输出到用户手机本地,如果是线上项目,向用户取日志往往比较难,建议开发过程中,将手机本地日志上传到自己的存储服务器,方便取日志。

LIteAVSDK 生成日志策略

  1. log 目录有最大 size 限制,不会超过 200M,超过的时候会从最旧的 log 文件删除。
  2. log 只保留最近 10天的,过期的会删除。

crash日志

开发过程中遇到crash,或者线上反馈crash,就无法只靠运行log排查定位了。需要排查crash的堆栈信息。

收集crash堆栈信息,有两种方式:

1、手动复现

把手机连接开发工具,操作复现,如果crash了,开发工具的logcat里面,会输出crash堆栈,把logcat日志复制出来,贴成txt文本文件,把文件发给腾讯支持人员。

2、上报堆栈

可以在工程中集成上报crash到云端的三方sdk,比如腾讯bugly。

代码语言:javascript复制
1、bugly会记录crash堆栈,聚合机型、crash数量、时间点等信息,捕获的信息更全面,推荐集成。
2、bugly页面有查看权限,需要添加腾讯支持人员的QQ号(204356973腾讯云helper、3531448318崩溃专用排查qq号)查看权限,
添加完成后,把crash的bugly页面链接,发给腾讯支持人员。腾讯支持人员就可以登录QQ号,去查看该页面的crash堆栈了。

取sdk版本号

排查crash堆栈,需要确认sdk版本号:

sdk

平台

api

LiteAVSDK

安卓

TXLiveBase.getSDKVersionStr();

ios/mac

TXLiveBase getSDKVersionStr

小程序

查看手机微信版本。音视频小程序组件版本,是随微信版本发布的。

webrtc

查看引入的trtc-js-sdk文件版本

windows

ITRTCCloud.getTRTCShareInstance().getSDKVersion();

IMSDK

安卓

TIMManager.getInstance().getVersion();

ios/mac

TIMManager sharedInstance GetVersion;

小程序/webim

查看引入tim-js-sdk文件版本

windows

TIMGetSDKVersion();

LiteAVSDK -> 安卓 -> log相关api文档;

LiteAVSDK -> ios&Mac -> log相关api文档;

IMSDK -> 安卓 -> log相关api文档;

IMSDK -> ios&Mac -> log相关文档:

TRTC日志打印类似于LiteAVSDK,参考《腾讯实时音视频(TRTC)如何打印日志》

0 人点赞