## 当前日志通道使用方式 - 日志通道的使用方:通过VTM应用上传互联网日志,主要为web端。 - 使用方式:连接上终端启动的ws server,通过特定的messageType发送日志数据。 ### 共享的数据 ```c++ //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的分离,需要知会杭州那边更改他们的调用格式,添加对应的字段。