summaryrefslogtreecommitdiff
path: root/src/tsg_send_log.cpp
diff options
context:
space:
mode:
author杨玉波 <[email protected]>2023-09-13 10:59:50 +0000
committer刘学利 <[email protected]>2023-09-13 10:59:50 +0000
commit2290821e0310cedd17ac80045365a8c23ab61f6c (patch)
tree6313a174a0a7b6994c7bd2db82bd7c7b61f7eeaf /src/tsg_send_log.cpp
parent2882f1125661d906e31da887fbcab3f491eb6ad9 (diff)
TSG-17051:更新模板文件ipfix_conf.json,增加object、array类型字段的处理逻辑v6.1.10
Diffstat (limited to 'src/tsg_send_log.cpp')
-rw-r--r--src/tsg_send_log.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/tsg_send_log.cpp b/src/tsg_send_log.cpp
index 89d8f43..64e4fac 100644
--- a/src/tsg_send_log.cpp
+++ b/src/tsg_send_log.cpp
@@ -2266,6 +2266,14 @@ static int tsg_send_ipfix_message(struct TLD_handle_t *_handle, int thread_id)
int64_t value = iter->value.GetInt64();
ipfix_message_append(message, iter->name.GetString(), iter->name.GetStringLength(), (char *)&(value), sizeof(int64_t));
}
+ else if (iter->value.GetType() == rapidjson::kObjectType || iter->value.GetType() == rapidjson::kArrayType)
+ {
+ StringBuffer sb(0, 128);
+ Writer<StringBuffer> writer(sb);
+ iter->value.Accept(writer);
+
+ ipfix_message_append(message, iter->name.GetString(), iter->name.GetStringLength(), (char *)sb.GetString(), sb.GetSize());
+ }
}
ipfix_message_send(g_tsg_log_instance->ipfix_instance, message, (uint16_t)thread_id);