diff --git a/LFtid1056/cloudfront/code/cfg_parser.cpp b/LFtid1056/cloudfront/code/cfg_parser.cpp index c85ce65..562dbf2 100644 --- a/LFtid1056/cloudfront/code/cfg_parser.cpp +++ b/LFtid1056/cloudfront/code/cfg_parser.cpp @@ -5807,7 +5807,7 @@ void on_device_response_minimal(int response_code, << " rc=" << response_code << " recall_status=" << front.recall_status<< std::endl; //错误响应码 //记录日志 - DIY_ERRORLOG_CODE(matched_monitor->monitor_id.c_str(),2,static_cast(LogCode::LOG_CODE_RECALL),"监测点:%s 补招数据失败 - 失败时间点:%s 至 %s",matched_monitor->monitor_name.c_str(),front.StartTime.c_str(),front.EndTime.c_str()); + DIY_ERRORLOG_CODE(matched_monitor->monitor_id.c_str(),2,LOG_CODE_RECALL,"补招数据失败,失败时间点:%s 至 %s",front.StartTime.c_str(),front.EndTime.c_str()); } updated = true; } else { //首条不是 RUNNING 状态,不应该收到这条响应 diff --git a/LFtid1056/cloudfront/code/interface.cpp b/LFtid1056/cloudfront/code/interface.cpp index b725667..ecc412f 100644 --- a/LFtid1056/cloudfront/code/interface.cpp +++ b/LFtid1056/cloudfront/code/interface.cpp @@ -195,7 +195,7 @@ void handleUploadResponse(const std::string& response, std::string& wavepath) { wavepath = nameWithoutExt; std::cout << "wavepath: " << wavepath << std::endl; - DIY_INFOLOG_CODE("process",0,LOG_CODE_FILE, "前置上传文件成功,远端文件名:%s", wavepath.c_str()); + DIY_INFOLOG_CODE("process",0,LOG_CODE_FILE, "上传文件成功,远端文件名:%s", wavepath.c_str()); } //上传文件 @@ -710,7 +710,7 @@ int parse_device_cfg_web() input_jstr += "}"; std::cout << "input_jstr: " << input_jstr << std::endl; - DIY_DEBUGLOG_CODE("process",0,LOG_CODE_LEDGER,"前置获取台账使用的请求输入为:%s", input_jstr.c_str()); + DIY_DEBUGLOG_CODE("process",0,LOG_CODE_LEDGER,"台账接口输入:%s", input_jstr.c_str()); // 2. 调用接口 std::map terminal_dev_map; @@ -750,7 +750,7 @@ int parse_device_cfg_web() // 5. 台账数量与配置比对 int count_cfg = static_cast(terminal_dev_map.size()); std::cout << "terminal_ledger_num: " << count_cfg << std::endl; - DIY_DEBUGLOG_CODE("process",0,LOG_CODE_LEDGER,"前置获取到的台账的数量为:%d",count_cfg); + DIY_DEBUGLOG_CODE("process",0,LOG_CODE_LEDGER,"获取到台账数量:%d",count_cfg); if (IED_COUNT < count_cfg) { std::cout << "!!!!!!!!!!single process has ledger count more than config!!!!!!!" << std::endl; @@ -808,7 +808,7 @@ int parse_device_cfg_web() if (!mon.terminal_connect.empty() && mon.terminal_connect != "0") { isdelta_flag = 1; std::cout << "monitor_id " << mon.monitor_id<< " v_wiring_type: " << mon.terminal_connect << " is delta wiring: " << isdelta_flag << std::endl; - DIY_WARNLOG_CODE("process",0,LOG_CODE_WIRETYPE,"装置:%s - 监测点: %s 是角形接线",dev.terminal_name.c_str(),mon.monitor_name.c_str()); + //DIY_WARNLOG_CODE("process",0,LOG_CODE_WIRETYPE,"装置:%s - 监测点: %s 是角形接线",dev.terminal_name.c_str(),mon.monitor_name.c_str()); } } } @@ -1055,7 +1055,7 @@ static void writeJsonToFile(const std::string& filePath, const std::string& json { FILE* fp = fopen(filePath.c_str(), "w"); if (!fp) { - DIY_ERRORLOG_CODE("process",0,LOG_CODE_TRANSIENT_COMM, "前置无法将暂态事件写入本地缓存"); + DIY_ERRORLOG_CODE("process",0,LOG_CODE_TRANSIENT_COMM, "无法将暂态事件写入本地缓存,暂态事件保存失败"); std::cerr << "Failed to write in file : " << filePath << std::endl; return; } @@ -1167,7 +1167,7 @@ static void scanAndResendOfflineFiles(const std::string& dirPath) // 读取 JSON 文件内容 std::ifstream inFile(file.fileName.c_str()); if (!inFile) { - DIY_ERRORLOG_CODE("process",0,LOG_CODE_TRANSIENT_COMM, "无法打开本地缓存的暂态事件"); + DIY_ERRORLOG_CODE("process",0,LOG_CODE_TRANSIENT_COMM, "无法打开本地缓存的暂态事件,暂态事件重发失败"); std::cerr << "fail to open existing file: " << file.fileName << std::endl; continue; } @@ -1186,14 +1186,14 @@ static void scanAndResendOfflineFiles(const std::string& dirPath) try { json j_r = json::parse(response); - DIY_WARNLOG_CODE("process",0,LOG_CODE_TRANSIENT_COMM, "前置重发暂态事件成功"); + DIY_WARNLOG_CODE("process",0,LOG_CODE_TRANSIENT_COMM, "重发暂态事件成功"); std::cout << "old file send success, remove it" << std::endl; std::remove(file.fileName.c_str()); } catch (...) { std::cout << "old file send fail (response parse failed)" << std::endl; - DIY_ERRORLOG_CODE("process",0,LOG_CODE_TRANSIENT_COMM, "前置重发暂态事件失败"); + DIY_ERRORLOG_CODE("process",0,LOG_CODE_TRANSIENT_COMM, "暂态接口响应异常,重发暂态事件失败"); handleCommentResponse(response); // 仍然处理文本响应 } } else { @@ -1294,15 +1294,7 @@ int transfer_json_qvvr_data(const std::string& dev_id, ushort monitor_id, && j_r["code"].is_string() && j_r["code"].get() != "0") { - DIY_ERRORLOG_CODE( - mpid.c_str(), - 2, - LOG_CODE_TRANSIENT_COMM, - "暂态接口业务失败(code=%s),无法上送装置%s - 监测点%s的暂态事件", - j_r["code"].get().c_str(), - showName_d, - showName_m - ); + DIY_ERRORLOG_CODE(mpid.c_str(),2,LOG_CODE_TRANSIENT_COMM,"暂态接口业务失败(code=%s),无法上送暂态事件",j_r["code"].get().c_str()); std::cout << "qvvr send fail ,store in local" << std::endl; std::string qvvrDir = FRONT_PATH + "/dat/qvvr/"; @@ -1318,7 +1310,7 @@ int transfer_json_qvvr_data(const std::string& dev_id, ushort monitor_id, } catch (...) { // 响应异常,保存 json - DIY_ERRORLOG_CODE(mpid.c_str(),2,LOG_CODE_TRANSIENT_COMM, "暂态接口响应异常,无法上送装置%s - 监测点%s的暂态事件",showName_d, showName_m); + DIY_ERRORLOG_CODE(mpid.c_str(),2,LOG_CODE_JSON, "暂态接口响应异常,无法上送暂态事件"); std::cout << "qvvr send fail ,store in local" << std::endl; std::string qvvrDir = FRONT_PATH + "/dat/qvvr/"; @@ -1328,7 +1320,7 @@ int transfer_json_qvvr_data(const std::string& dev_id, ushort monitor_id, } } else { // 无响应,保存 json - DIY_ERRORLOG_CODE(mpid.c_str(),2,LOG_CODE_TRANSIENT_COMM,"暂态接口无响应,无法上送装置%s - 监测点%s的暂态事件",showName_d, showName_m); + DIY_ERRORLOG_CODE(mpid.c_str(),2,LOG_CODE_TRANSIENT_COMM,"暂态接口无响应,无法上送暂态事件"); std::cout << "qvvr send fail ,store in local" << std::endl; std::string qvvrDir = FRONT_PATH + "/dat/qvvr/"; diff --git a/LFtid1056/cloudfront/code/rocketmq.cpp b/LFtid1056/cloudfront/code/rocketmq.cpp index 39ea297..29814e4 100644 --- a/LFtid1056/cloudfront/code/rocketmq.cpp +++ b/LFtid1056/cloudfront/code/rocketmq.cpp @@ -219,14 +219,14 @@ void RocketMQProducer::sendMessage(const std::string& body, << std::endl; } catch (const MQClientException& e) { std::cerr << "[RocketMQProducer] 发送失败: " << e.what() << std::endl; - DIY_ERRORLOG_CODE("process",0,LOG_CODE_MQ, "MQ发送失败"); + DIY_ERRORLOG_CODE("process",0,LOG_CODE_MQ, "MQ客户端异常,mq消息发送失败"); // 根据需要进行重试或日志记录 } catch (const std::exception& e) { std::cerr << "[RocketMQProducer] 异常: " << e.what() << std::endl; - DIY_ERRORLOG_CODE("process",0,LOG_CODE_MQ, "MQ发送失败"); + DIY_ERRORLOG_CODE("process",0,LOG_CODE_MQ, "MQ异常,mq消息发送失败"); } catch (...) { std::cerr << "[RocketMQProducer] 未知错误,消息发送失败。" << std::endl; - DIY_ERRORLOG_CODE("process",0,LOG_CODE_MQ, "MQ发送失败"); + DIY_ERRORLOG_CODE("process",0,LOG_CODE_MQ, "MQ未知错误,mq消息发送失败"); } } @@ -247,13 +247,13 @@ void RocketMQProducer::sendMessageOrderly(const std::string& body, << std::endl; } catch (const MQClientException& e) { std::cerr << "[RocketMQProducer] 顺序发送失败: " << e.what() << std::endl; - DIY_ERRORLOG_CODE("process",0,LOG_CODE_MQ, "MQ发送失败"); + DIY_ERRORLOG_CODE("process",0,LOG_CODE_MQ, "MQ客户端异常,mq消息发送失败"); } catch (const std::exception& e) { std::cerr << "[RocketMQProducer] 异常: " << e.what() << std::endl; - DIY_ERRORLOG_CODE("process",0,LOG_CODE_MQ, "MQ发送失败"); + DIY_ERRORLOG_CODE("process",0,LOG_CODE_MQ, "MQ异常,mq消息发送失败"); } catch (...) { std::cerr << "[RocketMQProducer] 未知错误,顺序消息发送失败。" << std::endl; - DIY_ERRORLOG_CODE("process",0,LOG_CODE_MQ, "MQ发送失败"); + DIY_ERRORLOG_CODE("process",0,LOG_CODE_MQ, "MQ未知错误,mq消息发送失败"); } } @@ -310,7 +310,6 @@ void rocketmq_producer_send(rocketmq::RocketMQProducer* producer, producer->sendMessage(body, topic, tags, keys); } catch (const std::exception& e) { std::cerr << "[rocketmq_producer_send] 发送失败: " << e.what() << std::endl; - DIY_ERRORLOG_CODE("process",0,LOG_CODE_MQ, "MQ发送失败"); } } @@ -520,8 +519,7 @@ bool parseJsonMessageSET(const std::string& json_str) { std::cout << "msg index: " << index_value << " self index: " << g_front_seg_index << std::endl; - DIY_INFOLOG_CODE("process",0,LOG_CODE_PROCESS_CONTROL, "收到主题:%s - tag:%s的进程控制消息", - G_MQCONSUMER_TOPIC_SET.c_str(),FRONT_INST.c_str()); + DIY_INFOLOG_CODE("process",0,LOG_CODE_PROCESS_CONTROL, "收到进程控制消息,开始处理"); if (code_str == "set_process") { @@ -553,8 +551,12 @@ bool parseJsonMessageSET(const std::string& json_str) { execute_bash(fun, processNum, frontType); - DIY_WARNLOG_CODE("process",0,LOG_CODE_PROCESS_CONTROL, "执行指令:%s,reset表示重启所有进程,add表示添加进程", - fun.c_str()); + if (fun == "reset") { + DIY_WARNLOG_CODE("process", 0, LOG_CODE_PROCESS_CONTROL,"执行重置进程指令,更新多进程数:%d", processNum); + } + else if (fun == "add") { + DIY_WARNLOG_CODE("process", 0, LOG_CODE_PROCESS_CONTROL,"执行添加进程指令,新增进程号:%d", processNum); + } send_reply_to_queue(guid, static_cast(ResponseCode::ACCEPTED), "收到重置进程指令,重启所有进程!"); std::cout << "this msg should only execute once" << std::endl; @@ -570,7 +572,7 @@ bool parseJsonMessageSET(const std::string& json_str) { // delete 分支:不要求 frontType/processNum send_reply_to_queue(guid, static_cast(ResponseCode::ACCEPTED), "收到删除进程指令,这个进程将会重启 "); - DIY_WARNLOG_CODE("process",0,LOG_CODE_PROCESS_CONTROL, "执行指令:%s,即将重启", fun.c_str()); + DIY_WARNLOG_CODE("process",0,LOG_CODE_PROCESS_CONTROL, "执行删除进程指令,当前进程即将重启"); std::this_thread::sleep_for(std::chrono::seconds(3)); ::_exit(-1039); // 进程退出 @@ -659,8 +661,7 @@ bool parseJsonMessageLOG(const std::string& json_str) { return true; }*/ - DIY_INFOLOG_CODE("process",0,LOG_CODE_LOG_REQUEST,"收到主题:%s - tag:%s的日志控制消息", - G_MQCONSUMER_TOPIC_LOG.c_str(),FRONT_INST.c_str()); + DIY_INFOLOG_CODE("process",0,LOG_CODE_LOG_REQUEST,"收到日志控制消息,开始处理"); std::cout << "msg index: " << processNo << " self index: " << g_front_seg_index << std::endl; /*std::cout << "msg frontType: " << frontType << " self frontType: " << subdir << std::endl;*/ @@ -734,8 +735,7 @@ bool parseJsonMessageUD(const std::string& json_str, const std::string& output_d std::cout << "msg index: " << process_No << " self index: " << g_front_seg_index << std::endl; - DIY_INFOLOG_CODE("process",0,LOG_CODE_LEDGER_UPDATE,"收到主题:%s - tag:%s的台账更新消息", - G_MQCONSUMER_TOPIC_UD.c_str(), FRONT_INST.c_str()); + DIY_INFOLOG_CODE("process",0,LOG_CODE_LEDGER_UPDATE,"收到台账更新消息,开始处理"); //send_reply_to_queue(guid, static_cast(ResponseCode::ACCEPTED), "收到台账更新指令"); std::vector reply_list; @@ -888,7 +888,7 @@ bool parseJsonMessageUD(const std::string& json_str, const std::string& output_d /*send_reply_to_queue(json_data.guid, static_cast(ResponseCode::NOT_FOUND), "终端 id: " + tid + " 无法修改台账,未找到指定装置,改为添加这个装置");*/ - DIY_WARNLOG_CODE("process",0,LOG_CODE_LEDGER_UPDATE,"无法修改台账,未找到指定装置: %s ,改为添加这个装置的台账", json_data.terminal_name.c_str()); + DIY_WARNLOG_CODE("process",0,LOG_CODE_LEDGER_UPDATE,"未找到需要修改的装置: %s ,添加这个装置的台账", json_data.terminal_name.c_str()); init_loggers_bydevid(json_data.terminal_id); terminal_devlist.push_back(json_data); @@ -1026,7 +1026,7 @@ rocketmq::ConsumeStatus myMessageCallbackrtdata(const rocketmq::MQMessageExt& ms } // 日志记录 - DIY_INFOLOG_CODE("process",0,LOG_CODE_RT_DATA,"收到主题:%s - tag:%s的实时触发消息",G_MQCONSUMER_TOPIC_RT.c_str(),FRONT_INST.c_str()); + DIY_INFOLOG_CODE("process",0,LOG_CODE_RT_DATA,"收到实时数据触发消息,开始处理"); std::cout << "rtdata Callback received message: " << body << std::endl; if (!key.empty()) { @@ -1137,7 +1137,7 @@ rocketmq::ConsumeStatus myMessageCallbackupdate(const rocketmq::MQMessageExt& ms // 调用业务逻辑处理函数 std::string updatefilepath = FRONT_PATH + "/etc/ledgerupdate"; if (!parseJsonMessageUD(body, updatefilepath)) { - DIY_ERRORLOG_CODE("process",0,LOG_CODE_JSON,"主题:%s - tag:%s的台账更新消息失败",G_MQCONSUMER_TOPIC_UD.c_str(),FRONT_INST.c_str()); + DIY_ERRORLOG_CODE("process",0,LOG_CODE_JSON,"无法解析台账更新指令,台账更新失败"); } return rocketmq::CONSUME_SUCCESS; @@ -1181,7 +1181,7 @@ rocketmq::ConsumeStatus myMessageCallbackset(const rocketmq::MQMessageExt& msg) // 调用业务处理逻辑 if (!parseJsonMessageSET(body)) { - DIY_ERRORLOG_CODE("process",0,LOG_CODE_JSON,"主题:%s - tag:%s的进程控制消息失败", G_MQCONSUMER_TOPIC_SET.c_str(), FRONT_INST.c_str()); + DIY_ERRORLOG_CODE("process",0,LOG_CODE_JSON,"无法解析进程控制指令,进程控制失败"); } return rocketmq::CONSUME_SUCCESS; @@ -1225,7 +1225,7 @@ rocketmq::ConsumeStatus myMessageCallbacklog(const rocketmq::MQMessageExt& msg) // 执行日志上送处理 if (!parseJsonMessageLOG(body)) { - DIY_ERRORLOG_CODE("process",0,LOG_CODE_JSON,"主题:%s - tag:%s的日志上送消息失败",G_MQCONSUMER_TOPIC_LOG.c_str(),FRONT_INST.c_str()); + DIY_ERRORLOG_CODE("process",0,LOG_CODE_JSON, "无法解析日志控制指令,日志控制失败"); } return rocketmq::CONSUME_SUCCESS; @@ -1273,8 +1273,7 @@ rocketmq::ConsumeStatus myMessageCallbackrecall(const rocketmq::MQMessageExt& ms std::cout << "Message Key: N/A" << std::endl; } - DIY_INFOLOG_CODE("process",0,LOG_CODE_RECALL,"收到主题:%s - tag:%s的补招消息", - G_MQCONSUMER_TOPIC_RC.c_str(), FRONT_INST.c_str()); + DIY_INFOLOG_CODE("process",0,LOG_CODE_RECALL,"收到补招消息,开始处理"); // 解析 JSON 字符串 recall_json_handle_from_mq(body);//不再使用文件补招方式 @@ -2424,7 +2423,7 @@ rocketmq::ConsumeStatus cloudMessageCallback(const rocketmq::MQMessageExt& msg) } // 日志记录 - DIY_INFOLOG_CODE("process",0,LOG_CODE_CLOUD, "收到主题:%s - tag:%s的云前置控制消息",G_MQCONSUMER_TOPIC_CLOUD.c_str(),FRONT_INST.c_str()); + DIY_INFOLOG_CODE("process",0,LOG_CODE_CLOUD, "收到云前置指令,开始处理"); std::cout << "cloud Callback received message: " << body << std::endl; if (!key.empty()) { @@ -2442,7 +2441,7 @@ rocketmq::ConsumeStatus cloudMessageCallback(const rocketmq::MQMessageExt& msg) if (!parseJsonMessageCLOUD(body, devid, guid, DetailObj,FrontId,Node)) { std::cerr << "Failed to parse the JSON message." << std::endl; - DIY_ERRORLOG_CODE("process",0,LOG_CODE_JSON, "主题:%s - tag:%s的云前置控制消息失败", G_MQCONSUMER_TOPIC_CLOUD.c_str(), FRONT_INST.c_str()); + DIY_ERRORLOG_CODE("process",0,LOG_CODE_JSON, "无法解析云前置指令,云前置指令执行失败"); return rocketmq::RECONSUME_LATER; } @@ -2461,7 +2460,7 @@ rocketmq::ConsumeStatus cloudMessageCallback(const rocketmq::MQMessageExt& msg) if(!parsemsg(devid,guid,DetailObj)){ std::cerr << "clouddata is error." << std::endl; - DIY_ERRORLOG_CODE("process",0,LOG_CODE_JSON,"主题:%s - tag:%s的云前置控制消息失败",G_MQCONSUMER_TOPIC_CLOUD.c_str(),FRONT_INST.c_str()); + DIY_ERRORLOG_CODE("process",0,LOG_CODE_JSON, "无法解析云前置指令,云前置指令执行失败"); } return rocketmq::CONSUME_SUCCESS;