chromium日志通道现状.md 4.3 KB

当前日志通道使用方式

  • 日志通道的使用方:通过VTM应用上传互联网日志,主要为web端。
  • 使用方式:连接上终端启动的ws server,通过特定的messageType发送日志数据。

共享的数据

	//default endpoint and topic
    // 发送的节点地址, 默认使用程序中写死的地址,但可以通过集中配置修改
	static constexpr const char* endpoint = "https://kafkaproxy.paas.cmbchina.cn/api/kafka/log/send";
    
    // 发送的topic, 默认使用程序中写死的地址,但可以通过集中配置修改;已经固定好就这6个,不可随意增加,如果增加;需要修改代码。
    //终端使用的topic
	static constexpr const char* topicSys = "LR18_23_VTMTerminalLogService_L_sys_VTMTerminalSysLog_SRC_SZ";
	static constexpr const char* topicUser = "LR18_23_VTMTerminalLogService_L_biz_VTMTerminalUserLog_SRC_SZ";
    // 北斗topic
	static constexpr const char* topicBeidou = "LR18_23_VTMTerminalLogService_L_trace_VTMTerminalTraceLog_SRC_SZ";
    // 业务日志的topic
	static constexpr const char* topicBussSys = "LR18_23_VTMTerminalLogService_L_sys_VTMBusiness_SRC_SZ";
	static constexpr const char* topicBussUser = "LR18_23_VTMTerminalLogService_L_biz_VTMBusiness_SRC_SZ";
    // 招乎音视频日志的topic
	static constexpr const char* topicVTMWeb = "LR18_23_VTMWebSDKUserLog";

	//const log params, 默认的日志参数
	static constexpr const char* cmptId = "LR04.02";
	static constexpr const char* CmptName = "RVCTerminalPlus";
	static constexpr const char* deployUnitId = "LR04.02_RVCTerminalPlus";
	static constexpr const char* serviceUnitId = "LR04.02@RVCTerminalPlus_PRD_PRD";

发送数据格式

天眼日志

METHOD_SYSTEM_DETAIL_LOG_DEBUG 3080197 METHOD_SYSTEM_DETAIL_LOG_INFO 3080198 METHOD_SYSTEM_DETAIL_LOG_WARN 3080199 METHOD_SYSTEM_DETAIL_LOG_ERROR 3080200

{

"messageType": 3080198, # 消息类型,必填
"EntityName": "postmanpostman", # 实体名称,必填
"ResultMsg": "for LogTest from postman", # 日志内容,必填
"LogType": "VTMWeb", # 日志类型,选填;如果没有,则使用默认值(业务系统日志); VTMWeb,音视频日志;User、Sys,业务系统/用户日志
"CostTime": 444, # 选填;日志耗时,单位ms
"ResultCode": "RTA444444", # 选填;默认SUC0000
"LogCode": "ASDASSD", # 选填
"API": "postman::test", # 选填
"SourceType": "test.cpp", # 选填
"BussID":"asdfafwerwqerqwerwerqwerwqerwerwqerwqerqwer", # 选填
"TipMsg":"fjoawjerfownfojinwiqfneuiwnefionwfnewqionr", # 选填
"BeginTime":123456, # 选填
"EndTime":234567, # 选填
"CmptId":"232323", # 组件ID,选填;关联EntityName;如果没有,则使用默认值("LR04.02");
"CmptName":"sldfoeofoefbo" # 组件名称,选填;关联EntityName;如果没有,则使用默认值("RVCTerminalPlus");

}

北斗日志

METHOD_BEIDOU_LOG 4128769

{

"messageType": 4128769, # 消息类型,必填
"BusinessId": "testBeidou", # 业务ID,必填
"TraceId": "a2bcd4e10afc420b9e46a0b0030f7247", # 轨迹ID,必填
"SpanId": "e11f264333564b54", # SpanID,必填
"ParentSpanId": "0", # 父SpanID,必填
"Timestamp": "", # 时间戳,选填
"Host": "", # 选填
"CallStack": "", # 选填
"DbStack": "", # 选填
"Tags":"", # 选填, VTM会自行加入终端号
"API":"testBeidouAPI", # 选填
"deployUnitId":"testBeidouPostdeployUnitId", # 选填, 如果没有,使用默认值("LR04.02_RVCTerminalPlus")
"serviceUintId":"testBeidouserviceUintId" # 选填, 如果没有,使用默认值("LR04.02@RVCTerminalPlus_PRD_PRD")

}

业务端

  • 天眼日志没有填CmptId、CmptName,使用默认
  • 北斗日志没有填deployUnitId、serviceUintId,使用默认

招乎音视频端

  • 都使用的最新的方式,填写了CmptId、CmptName和deployUnitId、serviceUintId

改进方向

  • 根据上次讨论,终端这边提供一个完全透传的接口,不再管理是否有日志格式,直接上传给服务器。
  • 如 { "messageType": 4128769, # 消息类型,必填 "data": "xxxxxxxxx", # 透传数据,必填 }
  • 好处:终端不再管理日志格式,减少麻烦事。
  • 坏处:遇到问题时,很难排查。

需要知会

  • 如需要做到CmptId、CmptName和deployUnitId、serviceUintId的分离,需要知会杭州那边更改他们的调用格式,添加对应的字段。