diff --git a/include/neuron/utils/log.h b/include/neuron/utils/log.h index 2460b774..83b7209e 100644 --- a/include/neuron/utils/log.h +++ b/include/neuron/utils/log.h @@ -21,6 +21,7 @@ config_ **/ #define _NEU_LOG_H_ #include +#include #include "utils/zlog.h" @@ -88,55 +89,47 @@ inline static const char *log_level_to_str(int level) zlog((plugin)->common.log, __FILE__, sizeof(__FILE__) - 1, __func__, \ sizeof(__func__) - 1, __LINE__, ZLOG_LEVEL_DEBUG, __VA_ARGS__) -#define zlog_recv_protocol(log, bytes, n_byte) \ - uint16_t log_protocol_buf_size = n_byte * 5 + 20; \ - char * log_protocol_buf = calloc(log_protocol_buf_size, 1); \ - int log_offset = 0; \ - uint16_t tmp_n_byte = n_byte; \ - log_offset = snprintf(log_protocol_buf, log_protocol_buf_size, "<<(%d)", \ - tmp_n_byte); \ - for (int i = 0; i < n_byte; i++) { \ - if (log_protocol_buf_size > log_offset && \ - log_protocol_buf_size - log_offset > 10) { \ - int s_ret = snprintf(log_protocol_buf + log_offset, \ - log_protocol_buf_size - log_offset, \ - " 0x%02hhX", (bytes)[i]); \ - if (s_ret > 0) { \ - log_offset += s_ret; \ - } else { \ - break; \ - } \ - } else { \ - break; \ - } \ - } \ - zlog_debug(log, "%s", log_protocol_buf); \ - free(log_protocol_buf); +enum neu_protocol_log_type { + NEU_PROTOCOL_SEND, + NEU_PROTOCOL_RECV, +}; -#define zlog_send_protocol(log, bytes, n_byte) \ - uint16_t log_protocol_buf_size = n_byte * 5 + 20; \ - char * log_protocol_buf = calloc(log_protocol_buf_size, 1); \ - int log_offset = 0; \ - uint16_t tmp_n_byte = n_byte; \ - log_offset = snprintf(log_protocol_buf, log_protocol_buf_size, ">>(%d)", \ - tmp_n_byte); \ - for (int i = 0; i < n_byte; i++) { \ - if (log_protocol_buf_size > log_offset && \ - log_protocol_buf_size - log_offset > 10) { \ - int s_ret = snprintf(log_protocol_buf + log_offset, \ - log_protocol_buf_size - log_offset, \ - " 0x%02hhX", (bytes)[i]); \ - if (s_ret > 0) { \ - log_offset += s_ret; \ - } else { \ - break; \ - } \ - } else { \ - break; \ - } \ - } \ - zlog_debug(log, "%s", log_protocol_buf); \ - free(log_protocol_buf); +inline static void zlog_protocol(zlog_category_t *log, uint8_t *bytes, + uint16_t n_byte, + enum neu_protocol_log_type type) +{ + static __thread char buf[2048] = { 0 }; + int offset = 0; + + memset(buf, 0, sizeof(buf)); + if (type == NEU_PROTOCOL_SEND) { + offset = snprintf(buf, sizeof(buf) - 1, ">>(%d)", n_byte); + } else { + offset = snprintf(buf, sizeof(buf) - 1, "<<(%d)", n_byte); + } + + for (int i = 0; i < n_byte; i++) { + if (sizeof(buf) > (size_t) offset && sizeof(buf) - offset > 10) { + int s_ret = snprintf(buf + offset, sizeof(buf) - offset - 1, + " 0x%02hhX", bytes[i]); + if (s_ret > 0) { + offset += s_ret; + } else { + break; + } + } else { + break; + } + } + + zlog_debug(log, "%s", buf); +} + +#define zlog_send_protocol(log, bytes, n_byte) \ + zlog_protocol(log, bytes, n_byte, NEU_PROTOCOL_SEND) + +#define zlog_recv_protocol(log, bytes, n_byte) \ + zlog_protocol(log, bytes, n_byte, NEU_PROTOCOL_RECV) #define plog_recv_protocol(plugin, bytes, n_byte) \ zlog_recv_protocol((plugin)->common.log, bytes, n_byte) diff --git a/plugins/ekuiper/plugin_ekuiper.c b/plugins/ekuiper/plugin_ekuiper.c index a36e3962..e5ea82a7 100644 --- a/plugins/ekuiper/plugin_ekuiper.c +++ b/plugins/ekuiper/plugin_ekuiper.c @@ -347,8 +347,8 @@ const neu_plugin_module_t neu_plugin_module = { .version = NEURON_PLUGIN_VER_1_0, .schema = "ekuiper", .module_name = "eKuiper", - .module_descr = "Neuron and LF Edge eKuiper integration plugin", - .module_descr_zh = "Neuron 和 LF Edge eKuiper 一体化插件", + .module_descr = "LF Edge eKuiper integration plugin", + .module_descr_zh = "LF Edge eKuiper 一体化插件", .intf_funs = &plugin_intf_funs, .kind = NEU_PLUGIN_KIND_SYSTEM, .type = NEU_NA_TYPE_APP, diff --git a/plugins/monitor/monitor.c b/plugins/monitor/monitor.c index a4f1d639..8635b373 100644 --- a/plugins/monitor/monitor.c +++ b/plugins/monitor/monitor.c @@ -402,7 +402,7 @@ static const neu_plugin_intf_funs_t plugin_intf_funs = { #define DEFAULT_MONITOR_PLUGIN_DESCR \ "Builtin plugin for Neuron monitoring and alerting" -#define DEFAULT_MONITOR_PLUGIN_DESCR_ZH "Neuron内置监控与告警插件" +#define DEFAULT_MONITOR_PLUGIN_DESCR_ZH "内置监控与告警插件" const neu_plugin_module_t neu_plugin_module = { .version = NEURON_PLUGIN_VER_1_0, diff --git a/plugins/mqtt/mqtt_plugin.c b/plugins/mqtt/mqtt_plugin.c index b5c1a9d7..e734dce4 100644 --- a/plugins/mqtt/mqtt_plugin.c +++ b/plugins/mqtt/mqtt_plugin.c @@ -393,8 +393,8 @@ static const neu_plugin_intf_funs_t plugin_intf_funs = { .request = mqtt_plugin_request, }; -#define DESCRIPTION "Neuron northbound MQTT plugin bases on NanoSDK." -#define DESCRIPTION_ZH "基于 NanoSDK 的 Neuron 北向应用 MQTT 插件" +#define DESCRIPTION "Northbound MQTT plugin bases on NanoSDK." +#define DESCRIPTION_ZH "基于 NanoSDK 的北向应用 MQTT 插件" const neu_plugin_module_t neu_plugin_module = { .version = NEURON_PLUGIN_VER_1_0,