finish diylog

This commit is contained in:
lnk
2025-05-29 16:36:34 +08:00
parent 10383ff567
commit 8d3ec192e8
6 changed files with 116 additions and 39 deletions

View File

@@ -3006,8 +3006,14 @@ static void scanAndResendOfflineFiles(const std::string &dirPath)
std::cout << "old file send fail" << std::endl;
// 表示有响应,则可视为成功;根据项目需要可加更精细的判断
handleCommentResponse(std::string(ptr));
DIY_WARNLOG("process","【WARN】前置重发暂态事件失败");
}
else{
DIY_WARNLOG("process","【WARN】前置重发暂态事件成功");
std::cout << "old file send success,remove it" << std::endl;
// 删除文件
remove(fileList[i].fileName.c_str());
@@ -3040,6 +3046,14 @@ double mag, double dur, long long start_tm, long long end_tm, int dis_kind,
char* uuid_cfg,char* uuid_dat,
char* mp_id,char* Qvvr_rptname,char* devtype)
{
//监测点日志的key,lnk20250526
char full_key_m_c[256]; // 分配足够空间
char full_key_m_d[256]; // 分配足够空间
snprintf(full_key_m_c, sizeof(full_key_m_c), "monitor.%s.COM", mp_id);
snprintf(full_key_m_d, sizeof(full_key_m_d), "monitor.%s.DATA", mp_id);
//监测点日志的key,lnk20250526
// 原本的逻辑,不做任何改动
// ---------------------------------------------------------------
XmlConfig c_xmlcfg;
@@ -3106,6 +3120,10 @@ char* mp_id,char* Qvvr_rptname,char* devtype)
cJSON* j_r = cJSON_Parse(ptr);
// 如果发送失败(j_r == NULL),则把当前 json 存入指定目录(/FeProject/dat/qvvr/)
if (j_r == NULL) {
//mq日志
DIY_ERRORLOG(full_key_m_d,"【ERROR】暂态接口响应异常,无法上送监测点%s的暂态事件",mp_id);
std::cout << "qvvr send fail ,store in local" << std::endl;
// 1) 先检查/FeProject/dat/qvvr/目录文件大小是否超过 10M若超过则删除最老的一个文件
std::string qvvrDir = "/FeProject/dat/qvvr/";
@@ -3148,6 +3166,29 @@ char* mp_id,char* Qvvr_rptname,char* devtype)
} else {
// 处理 ptr 为 NULL 的情况,例如日志记录或错误处理
std::cout << "Error: Received NULL response" << std::endl;
//mq日志
DIY_ERRORLOG(full_key_m_d,"【ERROR】暂态接口异常,无响应,无法上送监测点%s的暂态事件",mp_id);
std::cout << "qvvr send fail ,store in local" << std::endl;
// 1) 先检查/FeProject/dat/qvvr/目录文件大小是否超过 10M若超过则删除最老的一个文件
std::string qvvrDir = "/FeProject/dat/qvvr/";
checkAndRemoveOldestIfNeeded(qvvrDir, 10LL * 1024 * 1024);
// 2) 将此条 json 存为文件,文件名: mp_id-start_time_str-dis_kind.txt
// 例如: 502-2025-04-02 15:25:30.123-3.txt (仅示例)
std::string fileName = qvvrDir;
fileName += mp_id;
fileName += "-";
fileName += FormatTimeForFilename(start_time_str);
fileName += "-";
char buf[64];
sprintf(buf, "%d", dis_kind);
fileName += buf;
fileName += ".txt";
// 把 json_string 写入文件
writeJsonToFile(fileName.c_str(), json_string);
// 释放内存
cJSON_Delete(root);
free(json_string);