在音视频产品及即时通信(IM)的开发与运维过程中,SDK 运行日志是定位和解决问题的关键依据。本文详细介绍了腾讯云相关 SDK 的默认日志存储路径、配置方法、日志获取策略及 Crash 排查方案,适用于移动直播、短视频、播放器、实时音视频(LiteAVSDK)、即时通信(IMSDK)等产品线的终端开发场景。
各 SDK 在不同平台的默认日志存储路径如下表所示,支持自定义路径、日志等级过滤及关闭日志输出功能。
SDK | 产品线 | 平台 | 日志路径 |
---|---|---|---|
LiteAVSDK | iOS&Mac | Sandbox 路径:Documents/log | |
Android | - 8.5 及以上版本: /sdcard/Android/data/包名/files/log/liteav/LiteAV_日期.xlog - 6.8~~~8.4 版本: /sdcard/Android/data/包名/files/log/tencent/liteav/LiteAV_日期.xlog - 6.7 以前版本: /sdcard/log/tencent/liteav/*.xlog | ||
Windows | - 8.8 及以上版本: C:\Users{userId}\AppData\Roaming\liteav\log - 8.7 以前版本: C:\Users\{userId}\AppData\Roaming\tencent\liteav\log | ||
Web&小程序 | Web:浏览器控制台或 vConsole 小程序:启用<debug>标签并通过 vConsole 记录 小程序线上问题: iOS / Android: 微信主界面 -【我】-【设置】-【帮助与反馈】-右上角【🔧】图标-【上传日志】,日期选择前面所填的【发生问题的时间】 Windows: 无 macOS: 微信主界面 - 会话列表上方的搜索框 - 输入:up(包含冒号),日期选择前面所填的【发生问题的时间】 上传日志后,提供如下信息给腾讯技术员 微信号:xxxx 出现问题时间点(非上传日志时间点):xxx | ||
Flutter | 日志路径与上述Native端相同 | ||
HarmonyOS | /data/app/el2/100/base/包名/haps/模块名/files/*.clog(需切换到沙箱视图) | ||
IMSDK | iOS&Mac | App 目录:Library/Caches/imsdk_C_日期.xlog | |
Android | - 4.8.50 及以上版本: /sdcard/Android/data/包名/files/log/tencent/imsdk/imsdk_日期.xlog - 4.8.10 以前版本: /sdcard/tencent/imsdklogs/包名/*.log | ||
Windows | .exe文件同级目录 | ||
Web&小程序 | Web:浏览器控制台或 vConsole 小程序:vConsole 记录 | ||
Flutter | 日志路径与上述Native端相同 | ||
HarmonyOS | /data/app/el2/100/base/包名/cache/imsdk_C_yyyymmdd.xlog(需切换到沙箱视图) |
TRTCSDK的native端的日志文件,名称是:TRTC_日期
9.9版本后LiteAVSDK所有产品线的日志后缀,由xlog变成clog
通过 SDK 提供的 API 可灵活调整日志输出等级(最高等级可关闭日志)和存储路径,以下为关键平台的配置示例:
SDK | 产品线 | 平台 | 修改 |
---|---|---|---|
LiteAVSDK | 直播 短视频 播放器 视立方 | iOS&Mac | //设置日志输出等级,最高级可关闭 [TXLiveBase setLogLevel:LOGLEVEL_DEBUG]; |
安卓 | //设置日志输出等级,,最高级可关闭TXLiveBase.setLogLevel(TXLiveConstants.LOG_LEVEL_DEBUG); | ||
TRTC | iOS&Mac | //设置输出 Log 级别,最高级可关闭 [TRTCCloud setLogLevel:TRTCLogLevelDebug]; //修改日志路径 [TRTCCloud setLogDirPath:自定义路径]; | |
安卓 | //设置输出 Log 级别,最高级可关闭trtcCloud.setLogLevel(TRTCCloudDef.TRTC_LOG_LEVEL_DEBUG); //修改日志路径 trtcCloud.setLogDirPath(自定义路径); | ||
Windows | //设置输出 Log 级别,最高级可关闭 getTRTCCloud()->setLogLevel(TRTC_LOG_LEVEL_DEBUG); //修改日志路径 getTRTCCloud()->setLogDirPath(自定义路径); | ||
IMSDK | IM | iOS&Mac | //本地写 log 文件的等级,最高级可关闭 TIMSdkConfig *config = [[TIMSdkConfig alloc] init]; config.logLevel = TIMLogLevelDebug; //修改log文件路径,不设置时为默认路径 config.logPath = 自定义路径; |
安卓 | //设置写日志等级,最高级可关闭 TIMSdkConfig config = new TIMSdkConfig(); config.setLogLevel(TIMLogLevel.TIM_LOG_LEVEL_DEBUG); //设置日志路径,不设置时为默认路径 config.setLogPath(自定义路径); | ||
Windows | static const char* kLogPathKey = "sdk_config_log_file_path"; Json::Value jsonConfig; jsonConfig[kLogPathKey] = path; std::string jsonStr = jsonConfig.toStyledString(); TIMInit(sdk_app_id, jsonStr.c_str()); |
logcat
命令导出日志,或使用文件管理器手动提取日志文件。提取手机本地文件,参考这里:安卓、iOS当发生 Crash 时,需结合堆栈信息定位问题,支持以下两种方案:
logcat
(Android)或 Xcode 控制台(iOS)中提取完整堆栈日志,保存为 TXT 文件后提交给腾讯云技术支持。提取崩溃堆栈操作,参考这里:安卓,iOS排查问题时需同步确认 SDK 版本,各平台获取版本号的 API 如下:
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 -> ios&Mac -> log相关文档:
TRTC日志打印类似于LiteAVSDK,参考《腾讯实时音视频(TRTC)如何打印日志》
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。