自定义日 志的上报和检索
在玩法开发中,
SDK
提供自定义日志的上报接口,开发者使用该接口上报日志后,可以在玩法【控制台】-> 【开发】->【自查工具】->【SDK
日志查询】中查到自己日志的上报。Service
上报日志接口
UploadLog
,UploadLogWithTag
,UploadLogWithTags
都属于DebugUtilsService
,使用接口需要先获取DebugUtilsService
。代码示例
IDebugUtilsService DebugUtilsService => LiveOpenSdk.Instance.GetDebugUtilsService();
UploadLog
语法
void UploadLog(UploadLogLevel logLevel, string content, string? traceId = null);
参数说明
属性名 | 类型 | 默认值 | 必传 | 说明 |
logLevel | UploadLogLevel | -- | 是 | 日志等级,在控制台检索日志时,可以根据日志等级进行检索。 |
content | string | -- | 是 | 日志内容,如果有换行回车等字符(\r\n|\n|\r|\v|\f|\u0085|\u2028|\u2029)将被替换为空格。 |
traceId | string | null | 否 | 在控制台检索日志时,日志会根据traceId进行聚合。不允许包含空格,字符上限32,超过会被截断。输入traceId,可进行检索。建议一个完整的请求链路用同一个traceId,方便调用链的排查。 |
UploadLogWithTag
语法
void UploadLogWithTag(UploadLogLevel logLevel, string tag, string content, string? traceId = null);
参数说明
属性名 | 类型 | 默认值 | 必传 | 说明 |
logLevel | UploadLogLevel | -- | 是 | 日志等级,在控制台检索日志时,可以根据日志等级进行检索。 |
tag | string | -- | 是 | 自定义tag,不允许包含空格,字符上限32,超过会被截断。在控制台检索日志时,可以在FilterMsg中输入tag进行检索 |
content | string | -- | 是 | 日志内容,如果有换行回车等字符(\r\n|\n|\r|\v|\f|\u0085|\u2028|\u2029)将被替换为空格。 |
traceId | string | null | 否 | 在控制台检索日志时,日志会根据traceId进行聚合。不允许包含空格,字符上限32,超过会被截断。输入traceId,可进行检索。建议一个完整的请求链路用同一个traceId,方便调用链的排查。 |
UploadLogWithTags
语法
void UploadLogWithTags( UploadLogLevel logLevel, string[]? tags, string content, string? traceId = null);
参数说明
属性名 | 类型 | 默认值 | 必传 | 说明 |
logLevel | UploadLogLevel | -- | 是 | 日志等级,在控制台检索日志时,可以根据日志等级进行检索。 |
tags | string[] | -- | 是 | 允许配置多个tag,每个tag不允许包含空格,每个tag长度上限32,超过会被截断,限制最多5个tag,超过会被截断。在控制台检索日志时,可以在FilterMsg中输入tag进行检索。 |
content | string | -- | 是 | 日志内容,如果有换行回车等字符(\r\n|\n|\r|\v|\f|\u0085|\u2028|\u2029)将被替换为空格。 |
traceId | string | null | 否 | 在控制台检索日志时,日志会根据traceId进行聚合。不允许包含空格,字符上限32,超过会被截断。输入traceId,可进行检索。建议一个完整的请求链路用同一个traceId,方便调用链的排查。 |
日志限制
日志长度限制
每条日志将会根据接口的参数进行格式化,以空格或回车进行分隔,格式化后的字符串长度不能超过25600,如超过,则会进行截断。
上报频率限制
SDK
限制 QPS
为 5
,同时平台会控制日志的总量,单场直播间单场玩法,日志数量最多5w条,如有特殊扩容需求,可oncall联系平台评估扩容。建议开发者在上报日志时精简为关键信息才进行上报,避免过量非关键信息上报。
代码示例
public static void UploadLogWithTags( UploadLogLevel logLevel, string[]? tags, string content, string? traceId = null) { try { string tagsStr = tags == null? "" : string.Join(",", tags); Debug.Log($"上报日志:logLevel: {logLevel}, traceId: {traceId}, content: {content}, tags: [{tagsStr}]"); LiveOpenSdk.Instance.GetDebugUtilsService().UploadLogWithTags(logLevel, tags, content, traceId); } catch (Exception) { // 正常情况下不会失败,若遇到问题,请和我们联系。 Debug.LogError($"上报日志:失败"); throw; } }
UploadLogLevel
UploadLogLevel各值含义:
public enum UploadLogLevel { Debug = 1, Warn = 2, Log = 3, Error = 4, Info = 5 }
检索日志
当使用上报日志接口上报日志后,短暂延迟后(约1~5分钟不等)可以从玩法【控制台】->【开发】->【自查工具】->【SDK日志查询】看到上报的日志数据
其中,可以使用以下规则进行检索
- •根据上报时间检索
目前,平台仅保存7日内上报的日志,建议日志查询时通过限制查询条件,缩小查询范围,避免数据量过大导致查询超时
- •根据
抖音号
或OpenID
进行检索- •根据
TraceID
检索,TraceID
对应接口的入参traceId
- •根据
日志等级
进行检索,日志等级
对应接口的入参 logLevel
- •根据
FilterMsg
进行检索,FilterMsg
对应接口的入参 tags
中的tag