Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/zabbix/zabbix.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVladislavs Sokurenko <vladislavs.sokurenko@zabbix.com>2020-04-20 12:26:01 +0300
committerVladislavs Sokurenko <vladislavs.sokurenko@zabbix.com>2020-04-20 12:26:01 +0300
commitf9151189023ad710297b51bed8391ed4bec44707 (patch)
tree7699496764e08dca3330d104f5fc872ca1cae268 /src/libs/zbxembed/zabbix.c
parent4df9828b370bd1181f5511e7817def756ac0499a (diff)
........S. [ZBXNEXT-5877] logging to json, initial commit
Diffstat (limited to 'src/libs/zbxembed/zabbix.c')
-rw-r--r--src/libs/zbxembed/zabbix.c22
1 files changed, 21 insertions, 1 deletions
diff --git a/src/libs/zbxembed/zabbix.c b/src/libs/zbxembed/zabbix.c
index cba38229cb1..6dea5cfbed7 100644
--- a/src/libs/zbxembed/zabbix.c
+++ b/src/libs/zbxembed/zabbix.c
@@ -66,7 +66,27 @@ static duk_ret_t es_zabbix_ctor(duk_context *ctx)
******************************************************************************/
static duk_ret_t es_zabbix_log(duk_context *ctx)
{
- zabbix_log(duk_to_int(ctx, 0), "%s", duk_to_string(ctx, 1));
+ zbx_es_env_t *env;
+ const char *message;
+ int level;
+ duk_memory_functions out_funcs;
+
+ level = duk_to_int(ctx, 0);
+ message = duk_to_string(ctx, 1);
+
+ zabbix_log(level, "%s", message);
+
+ duk_get_memory_functions(ctx, &out_funcs);
+ env = (zbx_es_env_t *)out_funcs.udata;
+
+ if (NULL == env->json)
+ return 0;
+
+ zbx_json_addobject(env->json, NULL);
+ zbx_json_adduint64(env->json, "level", (zbx_uint64_t)level);
+ zbx_json_addstring(env->json, "message", message, ZBX_JSON_TYPE_STRING);
+ zbx_json_close(env->json);
+
return 0;
}