add log4cplus
This commit is contained in:
@@ -121,8 +121,8 @@ static ST_RET process_jou_entry(loginfo_t *loginfo,apr_time_t t,
|
||||
not_set_log_q_this = TRUE;
|
||||
not_set_log_t_this = TRUE;
|
||||
|
||||
ST_INT timeflag = TRUE;//ִ<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>ȡʱ<EFBFBD><EFBFBD>
|
||||
int log_data_steady_type = 0;//<EFBFBD><EFBFBD>̬ <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־
|
||||
ST_INT timeflag = TRUE;//执行前先取时标
|
||||
int log_data_steady_type = 0;//稳态 长闪 短闪标志
|
||||
|
||||
double start, end;
|
||||
static double last_check_recall_config_time = 0.0;
|
||||
@@ -186,7 +186,7 @@ static ST_RET process_jou_entry(loginfo_t *loginfo,apr_time_t t,
|
||||
v = mms_dec_data.data_item[ii].u.data_double;
|
||||
apr_snprintf(mms_ref, sizeof(mms_ref), "%s$%s", do_name, mms_dec_data.data_item[ii].comp_name);
|
||||
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//调试用
|
||||
printf("u.data_str: %s (as hex: 0x%X)\n", mms_dec_data.data_item[ii].u.data_str, *((ST_UINT16*)mms_dec_data.data_item[ii].u.data_str));
|
||||
|
||||
if (strstr(mms_ref, "QVVR")) {
|
||||
@@ -202,18 +202,18 @@ static ST_RET process_jou_entry(loginfo_t *loginfo,apr_time_t t,
|
||||
|
||||
length_FCDA = strlen(mms_ref);
|
||||
if (('$' == mms_ref[length_FCDA - 2]) && ('t' == mms_ref[length_FCDA - 1])) {
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>lnk20250307
|
||||
//调试用lnk20250307
|
||||
printf("readtime = 1");
|
||||
readtime = 1;
|
||||
t = convert_btime6_to_apr_time(&(mms_dec_data.data_item[ii].u.data_bTime6));
|
||||
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
// <EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ṹ<EFBFBD>屣<EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
|
||||
//调试用
|
||||
// 定义一个结构体保存转换后的时间信息
|
||||
apr_time_exp_t xt;
|
||||
|
||||
// ʹ<EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>ת<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> apr_time_exp_gmt(&xt, t) <EFBFBD>õ<EFBFBD> GMT ʱ<EFBFBD>䣩
|
||||
// 使用本地时区转换(也可以用 apr_time_exp_gmt(&xt, t) 得到 GMT 时间)
|
||||
if (apr_time_exp_lt(&xt, t) == APR_SUCCESS) {
|
||||
// tm_year <EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD> 1900 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD> 1900<EFBFBD><EFBFBD>tm_mon <EFBFBD><EFBFBD>ΧΪ 0~11<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD> 1
|
||||
// tm_year 表示自 1900 年起的年数,需要加上 1900;tm_mon 范围为 0~11,需要加 1
|
||||
printf("Converted time: %04d-%02d-%02d %02d:%02d:%02d.%06d\n",
|
||||
xt.tm_year + 1900,
|
||||
xt.tm_mon + 1,
|
||||
@@ -225,36 +225,36 @@ static ST_RET process_jou_entry(loginfo_t *loginfo,apr_time_t t,
|
||||
} else {
|
||||
printf("Failed to convert apr_time_t\n");
|
||||
}
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
//调试用
|
||||
}
|
||||
if (('$' == mms_ref[length_FCDA - 2]) && ('q' == mms_ref[length_FCDA - 1])) {
|
||||
if (log_data_type == STEADY_DATA) {
|
||||
readquailty = 1;
|
||||
char* q = mms_dec_data.data_item[ii].u.data_str;
|
||||
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>lnk20250307
|
||||
//调试用lnk20250307
|
||||
if (q != NULL)
|
||||
{
|
||||
int i;
|
||||
for (i = 0; q[i] != '\0'; i++)
|
||||
{
|
||||
/* <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD> '\0' <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ѭ<EFBFBD><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE>ų<EFBFBD><C5B3><EFBFBD> '\0' */
|
||||
/* 如果当前字符是 '\0' 则跳过,但循环条件已经排除了 '\0' */
|
||||
if (q[i] == '\0')
|
||||
continue;
|
||||
printf("q[%d] = %c\n", i, q[i]);
|
||||
}
|
||||
printf("!!!!!\n");
|
||||
}
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>lnk20250307
|
||||
//调试用lnk20250307
|
||||
|
||||
if (q[0] == '0' && q[1] == '0'){
|
||||
quality = 0;
|
||||
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>lnk20250307
|
||||
//调试用lnk20250307
|
||||
printf("quality = 0");
|
||||
|
||||
}else{
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>lnk20250307
|
||||
//调试用lnk20250307
|
||||
printf("quality = 1");
|
||||
quality = 1;
|
||||
}
|
||||
@@ -262,21 +262,21 @@ static ST_RET process_jou_entry(loginfo_t *loginfo,apr_time_t t,
|
||||
}
|
||||
}
|
||||
if (readtime == 1 && readquailty == 1) {
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>lnk20250307
|
||||
//调试用lnk20250307
|
||||
printf("readtime == 1 && readquailty = 1");
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (readtime == 1 && readquailty == 1) {
|
||||
if (0) {//<EFBFBD><EFBFBD><EFBFBD>ԣ<EFBFBD>Ҫ<EFBFBD>Ļ<EFBFBD>quality == 0
|
||||
if (0) {//调试,要改回quality == 0
|
||||
timeflag = TRUE;
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>lnk20250307
|
||||
//调试用lnk20250307
|
||||
printf("readtime == 1 && readquailty = 1 && quality == 1 continue");
|
||||
continue;
|
||||
}
|
||||
else
|
||||
{
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>lnk20250307
|
||||
//调试用lnk20250307
|
||||
printf("readtime == 1 && readquailty = 1 && quality == 0 log");
|
||||
|
||||
timeflag = FALSE;
|
||||
@@ -289,21 +289,21 @@ static ST_RET process_jou_entry(loginfo_t *loginfo,apr_time_t t,
|
||||
|
||||
apr_time_exp_t preTime;
|
||||
apr_time_exp_gmt(&preTime, process_jou_entry_t);
|
||||
if (newTime.tm_year != preTime.tm_year || newTime.tm_mon != preTime.tm_mon || newTime.tm_mday != preTime.tm_mday || newTime.tm_hour != preTime.tm_hour || newTime.tm_min != preTime.tm_min) //ʱ<EFBFBD>䷢<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD><EFBFBD>ִ<EFBFBD><D6B4>json<6F><6E><EFBFBD><EFBFBD>
|
||||
if (newTime.tm_year != preTime.tm_year || newTime.tm_mon != preTime.tm_mon || newTime.tm_mday != preTime.tm_mday || newTime.tm_hour != preTime.tm_hour || newTime.tm_min != preTime.tm_min) //时间发生跳变 长闪 短闪 和稳态数据执行json推送
|
||||
{
|
||||
printf("\n newTime: %d %d %d %d %d %d", newTime.tm_year, newTime.tm_mon, newTime.tm_mday, newTime.tm_hour, newTime.tm_min, newTime.tm_sec);
|
||||
printf("\n preTime: %d %d %d %d %d %d", preTime.tm_year, preTime.tm_mon, preTime.tm_mday, preTime.tm_hour, preTime.tm_min, preTime.tm_sec);
|
||||
json_block_create_end(loginfo->LD_info->v_wiring_type,loginfo->LD_info->mp_id, 0);//<EFBFBD><EFBFBD>̬
|
||||
json_block_create_end(loginfo->LD_info->v_wiring_type,loginfo->LD_info->mp_id, 1);//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
json_block_create_end(loginfo->LD_info->v_wiring_type,loginfo->LD_info->mp_id, 2);//<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>
|
||||
process_jou_entry_t = t;//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>
|
||||
json_block_create_end(loginfo->LD_info->v_wiring_type,loginfo->LD_info->mp_id, 0);//稳态
|
||||
json_block_create_end(loginfo->LD_info->v_wiring_type,loginfo->LD_info->mp_id, 1);//长闪
|
||||
json_block_create_end(loginfo->LD_info->v_wiring_type,loginfo->LD_info->mp_id, 2);//短闪 波动
|
||||
process_jou_entry_t = t;//调整至最新时标
|
||||
|
||||
ied_t* ied;
|
||||
ied = find_ied_from_dev_code(loginfo->LD_info->terminal_code);
|
||||
ied_usr_t* ied_usr = (ied_usr_t*)ied->usr_ext;
|
||||
json_block_create_start(loginfo->LD_info->voltage_level, loginfo->LD_info->mp_id, 0, ied_usr->dev_type, loginfo->LD_info->line_id);//<EFBFBD><EFBFBD><EFBFBD>ͽ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>³<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>¶<EFBFBD><C2B6><EFBFBD> <20><>̬
|
||||
json_block_create_start(loginfo->LD_info->voltage_level, loginfo->LD_info->mp_id, 1, ied_usr->dev_type, loginfo->LD_info->line_id);//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
json_block_create_start(loginfo->LD_info->voltage_level, loginfo->LD_info->mp_id, 2, ied_usr->dev_type, loginfo->LD_info->line_id);//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
json_block_create_start(loginfo->LD_info->voltage_level, loginfo->LD_info->mp_id, 0, ied_usr->dev_type, loginfo->LD_info->line_id);//推送结束 重新初始化新队列 稳态
|
||||
json_block_create_start(loginfo->LD_info->voltage_level, loginfo->LD_info->mp_id, 1, ied_usr->dev_type, loginfo->LD_info->line_id);//长闪
|
||||
json_block_create_start(loginfo->LD_info->voltage_level, loginfo->LD_info->mp_id, 2, ied_usr->dev_type, loginfo->LD_info->line_id);//短闪
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -363,7 +363,7 @@ static ST_RET process_jou_entry(loginfo_t *loginfo,apr_time_t t,
|
||||
int quality = 0;
|
||||
char* q = mms_dec_data.data_item[ii].u.data_str;
|
||||
|
||||
//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>lnk20250307
|
||||
//调试用lnk20250307
|
||||
printf("q[0] = %c ,q[1] = %c !!!!!",q[0],q[1]);
|
||||
|
||||
if (q[0]=='0'&& q[1]=='0'){
|
||||
@@ -373,7 +373,7 @@ static ST_RET process_jou_entry(loginfo_t *loginfo,apr_time_t t,
|
||||
printf("quality = 1");
|
||||
quality = 1;
|
||||
}
|
||||
if (0) {//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD>Ҫ<EFBFBD>Ļ<EFBFBD>quality == 0
|
||||
if (0) {//调试用,要改回quality == 0
|
||||
printf("quality = 1 continue");
|
||||
continue;
|
||||
}
|
||||
@@ -503,12 +503,12 @@ ST_RET mms_jread (loginfo_t *loginfo,MVL_NET_INFO *clientNetInfo, ST_CHAR *dom_n
|
||||
double start,end;
|
||||
static double last_check_recall_config_time = 0.0;
|
||||
|
||||
static double heart_time_cout = 0.0;//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ
|
||||
static double heart_time_cout_start = 0.0;//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ <20><>ʼ
|
||||
static double heart_time_cout_now = 0.0;//<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ <20><>ǰ
|
||||
static double heart_time_cout = 0.0;//心跳计时
|
||||
static double heart_time_cout_start = 0.0;//心跳计时 开始
|
||||
static double heart_time_cout_now = 0.0;//心跳计时 当前
|
||||
do {
|
||||
heart_time_cout_now = sGetMsTime();
|
||||
if (heart_time_cout_now - heart_time_cout_start > 30000)//30<EFBFBD><EFBFBD> <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>
|
||||
if (heart_time_cout_now - heart_time_cout_start > 30000)//30秒 定时心跳
|
||||
{
|
||||
printf("\n heart_time_cout OK");
|
||||
heart_time_cout_start = sGetMsTime();
|
||||
@@ -600,17 +600,17 @@ ST_RET mms_jread (loginfo_t *loginfo,MVL_NET_INFO *clientNetInfo, ST_CHAR *dom_n
|
||||
|
||||
if ( jread_resp->more_follows == 0 && ((i + 1) == jread_resp->num_of_jou_entry)) {
|
||||
printf("\njread_resp->more_follows == 0 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
|
||||
//lnk2024-8-16<EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><EFBFBD>߲<EFBFBD><EFBFBD><EFBFBD>
|
||||
json_block_create_end(loginfo->LD_info->v_wiring_type, loginfo->LD_info->mp_id, 0);//more followsΪ0 <EFBFBD><EFBFBD><EFBFBD>ݽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD> ǿ<>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD>ݵ<EFBFBD>json<6F><6E>ֹ<EFBFBD><D6B9><EFBFBD><EFBFBD>
|
||||
//lnk2024-8-16添加接线参数
|
||||
json_block_create_end(loginfo->LD_info->v_wiring_type, loginfo->LD_info->mp_id, 0);//more follows为0 数据接受最后一条 强行处理稳态数据的json防止遗留
|
||||
json_block_create_end(loginfo->LD_info->v_wiring_type, loginfo->LD_info->mp_id, 1);
|
||||
json_block_create_end(loginfo->LD_info->v_wiring_type, loginfo->LD_info->mp_id, 2);
|
||||
|
||||
ied_t* ied;
|
||||
ied = find_ied_from_dev_code(loginfo->LD_info->terminal_code);
|
||||
ied_usr_t* ied_usr = (ied_usr_t*)ied->usr_ext;
|
||||
json_block_create_start(loginfo->LD_info->voltage_level, loginfo->LD_info->mp_id, 0, ied_usr->dev_type, loginfo->LD_info->line_id);//<EFBFBD><EFBFBD><EFBFBD>ͽ<EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>³<EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>¶<EFBFBD><C2B6><EFBFBD> <20><>̬
|
||||
json_block_create_start(loginfo->LD_info->voltage_level, loginfo->LD_info->mp_id, 1, ied_usr->dev_type, loginfo->LD_info->line_id);//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
json_block_create_start(loginfo->LD_info->voltage_level, loginfo->LD_info->mp_id, 2, ied_usr->dev_type, loginfo->LD_info->line_id);//<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
json_block_create_start(loginfo->LD_info->voltage_level, loginfo->LD_info->mp_id, 0, ied_usr->dev_type, loginfo->LD_info->line_id);//推送结束 重新初始化新队列 稳态
|
||||
json_block_create_start(loginfo->LD_info->voltage_level, loginfo->LD_info->mp_id, 1, ied_usr->dev_type, loginfo->LD_info->line_id);//长闪
|
||||
json_block_create_start(loginfo->LD_info->voltage_level, loginfo->LD_info->mp_id, 2, ied_usr->dev_type, loginfo->LD_info->line_id);//短闪
|
||||
}
|
||||
end = sGetMsTime();
|
||||
}
|
||||
@@ -627,7 +627,7 @@ ST_RET mms_jread (loginfo_t *loginfo,MVL_NET_INFO *clientNetInfo, ST_CHAR *dom_n
|
||||
apr_time_exp_t preTime;
|
||||
apr_time_exp_gmt(&preTime, end_time);
|
||||
printf("\nstart timecheck_2");
|
||||
if (newTime.tm_year != preTime.tm_year || newTime.tm_mon != preTime.tm_mon || newTime.tm_mday != preTime.tm_mday || (newTime.tm_hour != preTime.tm_hour && newTime.tm_hour != preTime.tm_hour + 1 && newTime.tm_hour != preTime.tm_hour - 1)) //<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD>䳬<EFBFBD><E4B3AC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>ʱ <20><><EFBFBD><EFBFBD>
|
||||
if (newTime.tm_year != preTime.tm_year || newTime.tm_mon != preTime.tm_mon || newTime.tm_mday != preTime.tm_mday || (newTime.tm_hour != preTime.tm_hour && newTime.tm_hour != preTime.tm_hour + 1 && newTime.tm_hour != preTime.tm_hour - 1)) //结束时标判断 当上送时间超过结束时标时 跳出
|
||||
{
|
||||
printf("\nstart timecheck_3");
|
||||
printf("\n more_follows newTime: %d %d %d %d %d %d", newTime.tm_year, newTime.tm_mon, newTime.tm_mday, newTime.tm_hour, newTime.tm_min, newTime.tm_sec);
|
||||
|
||||
Reference in New Issue
Block a user