Просмотр исходного кода

Merge pull request #9633 from zhongwencool/fix-json-fmt

fix: bad best fmt json []
zhongwencool 3 лет назад
Родитель
Сommit
f92b1fb8f4
2 измененных файлов с 17 добавлено и 2 удалено
  1. 1 1
      apps/emqx/src/emqx.app.src
  2. 16 1
      apps/emqx/src/emqx_logger_jsonfmt.erl

+ 1 - 1
apps/emqx/src/emqx.app.src

@@ -3,7 +3,7 @@
     {id, "emqx"},
     {description, "EMQX Core"},
     % strict semver, bump manually!
-    {vsn, "5.0.13"},
+    {vsn, "5.0.14"},
     {modules, []},
     {registered, []},
     {applications, [

+ 16 - 1
apps/emqx/src/emqx_logger_jsonfmt.erl

@@ -221,7 +221,7 @@ best_effort_json_obj(Map, Config) ->
     end.
 
 json([], _) ->
-    "[]";
+    "";
 json(<<"">>, _) ->
     "\"\"";
 json(A, _) when is_atom(A) -> atom_to_binary(A, utf8);
@@ -376,4 +376,19 @@ p_config() ->
         ]
     ).
 
+best_effort_json_test() ->
+    ?assertEqual(
+        <<"{}">>,
+        emqx_logger_jsonfmt:best_effort_json([])
+    ),
+    ?assertEqual(
+        <<"{\n    \"key\": []\n}">>,
+        emqx_logger_jsonfmt:best_effort_json(#{key => []})
+    ),
+    ?assertEqual(
+        <<"[\n    {\n        \"key\": []\n    }\n]">>,
+        emqx_logger_jsonfmt:best_effort_json([#{key => []}])
+    ),
+    ok.
+
 -endif.