瀏覽代碼

add a pterm formatter

pull/529/head
Evan Vigil-McClanahan 4 年之前
父節點
當前提交
efaea270e1
共有 1 個文件被更改,包括 31 次插入0 次删除
  1. +31
    -0
      src/lager_default_formatter.erl

+ 31
- 0
src/lager_default_formatter.erl 查看文件

@ -98,6 +98,10 @@ output(metadata, Msg) ->
output({metadata, IntSep, FieldSep}, Msg) ->
MD = lists:keysort(1, lager_msg:metadata(Msg)),
string:join([io_lib:format("~s~s~p", [K, IntSep, V]) || {K, V} <- MD], FieldSep);
output({pterm, Key}, Msg) ->
output({pterm, Key, ""}, Msg);
output({pterm, Key, Default}, _Msg) ->
make_printable(persistent_term:get(Key, Default));
output(Prop,Msg) when is_atom(Prop) ->
Metadata = lager_msg:metadata(Msg),
make_printable(get_metadata(Prop,Metadata,<<"Undefined">>));
@ -147,6 +151,10 @@ output(metadata, Msg, _Width) ->
output({metadata, IntSep, FieldSep}, Msg, _Width) ->
MD = lists:keysort(1, lager_msg:metadata(Msg)),
[string:join([io_lib:format("~s~s~p", [K, IntSep, V]) || {K, V} <- MD], FieldSep)];
output({pterm, Key}, Msg, Width) ->
output({pterm, Key, ""}, Msg, Width);
output({pterm, Key, Default}, _Msg, _Width) ->
make_printable(persistent_term:get(Key, Default));
output(Prop, Msg, Width) when is_atom(Prop) ->
Metadata = lager_msg:metadata(Msg),
@ -505,6 +513,29 @@ basic_test_() ->
[]),
[severity_upper, " Simplist Format"])))
},
{"pterm presence test",
?_assertEqual(<<"Pterm is: something">>,
begin
persistent_term:put(thing, something),
Ret = iolist_to_binary(format(lager_msg:new("Message",
Now,
emergency,
[{pid, self()}],
[]),
["Pterm is: ", {pterm, thing}])),
persistent_term:erase(thing),
Ret
end)
},
{"pterm absence test",
?_assertEqual(<<"Pterm is: nothing">>,
iolist_to_binary(format(lager_msg:new("Message",
Now,
emergency,
[{pid, self()}],
[]),
["Pterm is: ", {pterm, thing, "nothing"}])))
},
{"node formatting basic",
begin
[N, "foo"] = format(lager_msg:new("Message",

Loading…
取消
儲存