From dc8fa984734810fa43f5becfd39c473afa5cf990 Mon Sep 17 00:00:00 2001 From: lnk Date: Fri, 4 Jul 2025 15:10:31 +0800 Subject: [PATCH] fix log too large --- cfg_parse/log4.cpp | 9 +++++---- mms/mms_process.c | 27 +++++++++++++++++++++++---- mms/rdb_client.h | 3 +++ 3 files changed, 31 insertions(+), 8 deletions(-) diff --git a/cfg_parse/log4.cpp b/cfg_parse/log4.cpp index 8f861a9..f0ddd7d 100644 --- a/cfg_parse/log4.cpp +++ b/cfg_parse/log4.cpp @@ -79,11 +79,12 @@ bool create_directory_recursive(const std::string& path) { } ////////////////////////////////////////////////////////////////////// std::string extract_logger_id(const std::string& logger_name) { - size_t pos = logger_name.find('.'); - if (pos != std::string::npos && pos + 1 < logger_name.size()) { - return logger_name.substr(pos + 1); + size_t first = logger_name.find('.'); + size_t last = logger_name.rfind('.'); + if (first != std::string::npos && last != std::string::npos && first + 1 < last) { + return logger_name.substr(first + 1, last - first - 1); // 去掉开头"terminal."和结尾".COM" } - return ""; // 没有找到 '.' 或 '.' 后为空 + return ""; } std::string get_level_str(int level) { diff --git a/mms/mms_process.c b/mms/mms_process.c index 2b93ac2..e7af730 100644 --- a/mms/mms_process.c +++ b/mms/mms_process.c @@ -1488,6 +1488,8 @@ void CheckNextNotConnectedChannel() chnl_usr->ip_str,chnl_usr->chnl->port,chnl_usr->net_info,chnl_usr); //mq日志 + ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->lastconnectstat = true; + ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->has_logged_disconnect = false; DIY_WARNLOG(full_key_t_c,"【WARN】终端%s - ip端口:%s:%d连接成功", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port); mvl_free_req_ctrl(chnl_usr->m_reqCtrl); @@ -1532,7 +1534,15 @@ void CheckNextNotConnectedChannel() printf( "reqCtrl->result == FAIL, Since StartConnecting %i sec ,channel IP %s:%d \n",secsSince,chnl_usr->ip_str,chnl_usr->chnl->port); //mq日志 - DIY_WARNLOG(full_key_t_c,"【WARN】终端%s - ip/端口:%s:%d - 识别码/秘钥:%s/%s,从开始连接到目前已经%i秒,连接失败,断开连接!", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port,((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->dev_series,((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->dev_key,secsSince); + if(true == ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->lastconnectstat){ + ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->lastconnectstat = false; + ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->has_logged_disconnect = true; + DIY_WARNLOG(full_key_t_c,"【WARN】终端%s - ip/端口:%s:%d - 识别码/秘钥:%s/%s,从开始连接到目前已经%i秒,连接失败,断开连接!", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port,((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->dev_series,((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->dev_key,secsSince); + } + else if(false == ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->lastconnectstat && false == ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->has_logged_disconnect){ + ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->has_logged_disconnect = true; + DIY_WARNLOG(full_key_t_c,"【WARN】终端%s - ip/端口:%s:%d - 识别码/秘钥:%s/%s,从开始连接到目前已经%i秒,连接失败,断开连接!", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port,((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->dev_series,((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->dev_key,secsSince); + } mvl_free_req_ctrl(chnl_usr->m_reqCtrl); chnl_usr->m_reqCtrl = NULL; @@ -1551,7 +1561,16 @@ void CheckNextNotConnectedChannel() echo_warn2( "reqCtrl->done未完成,but time over 300 secs, close channel IP %s,NetInfo= %x ",chnl_usr->ip_str,chnl_usr->net_info); //mq日志 - DIY_WARNLOG(full_key_t_c,"【WARN】终端%s - ip端口:%s:%d,从开始连接到目前已经300秒,未能获取连接响应,断开连接!", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port); + if(true == ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->lastconnectstat){ + ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->lastconnectstat = false; + ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->has_logged_disconnect = true; + DIY_WARNLOG(full_key_t_c,"【WARN】终端%s - ip端口:%s:%d,从开始连接到目前已经300秒,未能获取连接响应,断开连接!", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port); + } + else if(false == ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->lastconnectstat && false == ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->has_logged_disconnect){ + ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->has_logged_disconnect = true; + DIY_WARNLOG(full_key_t_c,"【WARN】终端%s - ip端口:%s:%d,从开始连接到目前已经300秒,未能获取连接响应,断开连接!", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port); + } + if (chnl_usr->net_info->req_pend_list) { echo_warn("reqCtrl->done未完成,but time over 300 secs!!!!!!!!\n"); @@ -1593,7 +1612,7 @@ void CheckNextNotConnectedChannel() chnl_usr->m_StartConnectingTime = sGetMsTime(); //mq日志 - DIY_WARNLOG(full_key_t_c,"【WARN】正在重新连接终端%s - ip端口:%s:%d - 识别码/秘钥:%s/%s", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port,((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->dev_series,((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->dev_key); + //DIY_WARNLOG(full_key_t_c,"【WARN】正在重新连接终端%s - ip端口:%s:%d - 识别码/秘钥:%s/%s", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port,((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->dev_series,((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->dev_key); } @@ -1605,7 +1624,7 @@ void CheckNextNotConnectedChannel() echo_warn3("FAILED: mms_connectToServer IP %s:%d ,NetInfo= %x \n", chnl_usr->ip_str, chnl_usr->chnl->port, chnl_usr->net_info); //mq日志 - DIY_WARNLOG(full_key_t_c,"【WARN】重新连接终端%s - ip端口:%s:%d 失败!", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port); + //DIY_WARNLOG(full_key_t_c,"【WARN】重新连接终端%s - ip端口:%s:%d 失败!", ((ied_usr_t*)(chnl_usr->chnl->ied->usr_ext))->terminal_id,chnl_usr->ip_str,chnl_usr->chnl->port); } } diff --git a/mms/rdb_client.h b/mms/rdb_client.h index 73a5048..f4af7e1 100644 --- a/mms/rdb_client.h +++ b/mms/rdb_client.h @@ -328,6 +328,9 @@ struct ied_usr_t{ int update_flag;//CZY 2023-08-20 台账更新标志 0:keep 2:delete 4:update 8:add char processNo[64];//台账进程号 + + bool lastconnectstat;//lnk20250704 + bool has_logged_disconnect;//lnk20250704 };