summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plugin/business/pangu-http/src/pangu_logger.cpp23
1 files changed, 7 insertions, 16 deletions
diff --git a/plugin/business/pangu-http/src/pangu_logger.cpp b/plugin/business/pangu-http/src/pangu_logger.cpp
index e303b1e..46185d0 100644
--- a/plugin/business/pangu-http/src/pangu_logger.cpp
+++ b/plugin/business/pangu-http/src/pangu_logger.cpp
@@ -81,14 +81,11 @@ error_out:
return NULL;
}
-static int pangu_log_get_fqdn_cat(struct tfe_cmsg *cmsg, char *fqdn_cat_buff)
+static unsigned int pangu_log_get_fqdn_cat(struct tfe_cmsg *cmsg, unsigned int *category_id_val)
{
int ret=0;
- unsigned int i=0, category_id_num=0;
+ unsigned category_id_num=0;
uint16_t opt_out_size;
- unsigned int category_id_val[TFE_SYMBOL_MAX]={0};
-
- char *p = fqdn_cat_buff;
ret = tfe_cmsg_get_value(cmsg, TFE_CMSG_FQDN_CAT_ID_NUM, (unsigned char *)&category_id_num, sizeof(category_id_num), &opt_out_size);
if (ret != 0 || category_id_num == 0)
@@ -101,12 +98,7 @@ static int pangu_log_get_fqdn_cat(struct tfe_cmsg *cmsg, char *fqdn_cat_buff)
return -1;
}
- for (i = 0; i < category_id_num && i < 8; i++)
- {
- p += snprintf(p, sizeof(fqdn_cat_buff) - (p - fqdn_cat_buff), "%s%d", i>0 ? "," : "", category_id_val[i]);
- }
-
- return 0;
+ return category_id_num > 8 ? 8 : category_id_num;
}
int pangu_send_log(struct pangu_logger* handle, const struct pangu_log* log_msg)
@@ -153,9 +145,8 @@ int pangu_send_log(struct pangu_logger* handle, const struct pangu_log* log_msg)
cJSON_AddStringToObject(common_obj, "http_version", app_proto[http->major_version]);
cJSON_AddStringToObject(common_obj, "common_schema_type", "HTTP");
- unsigned int common_direction=0;
- char category_id_val[TFE_SYMBOL_MAX];
- char opt_val[24] = { 0 }; uint16_t opt_out_size;
+ unsigned int common_direction=0, category_id_val[8]={0};
+ char opt_val[24]={0}; uint16_t opt_out_size;
struct tfe_cmsg * cmsg = tfe_stream_get0_cmsg(log_msg->stream);
if (cmsg!=NULL)
{
@@ -170,9 +161,9 @@ int pangu_send_log(struct pangu_logger* handle, const struct pangu_log* log_msg)
cJSON_AddNumberToObject(common_obj, "common_direction", common_direction); //0:域内->域外,1:域外->域内,描述的是CLIENT_IP信息
}
ret = pangu_log_get_fqdn_cat(cmsg, category_id_val);
- if (ret==0)
+ if (ret>0)
{
- cJSON_AddStringToObject(common_obj, "common_service_category", category_id_val);
+ cJSON_AddItemToObject(common_obj, "common_service_category", cJSON_CreateIntArray((const int*)category_id_val, ret));
}
}