|
|
@ -53,7 +53,7 @@ |
|
|
|
%% |
|
|
|
%% `[{pid, ["My pid is ", pid], ["Unknown Pid"]}]' -> if pid is in the metada print "My pid is ?.?.?", otherwise print "Unknown Pid" |
|
|
|
%% @end |
|
|
|
-spec format(lager_msg:lager_msg(), list(), list()) -> any(). |
|
|
|
-spec format(rumMsg:rumMsg(), list(), list()) -> any(). |
|
|
|
format(Msg, [], Colors) -> |
|
|
|
format(Msg, [{eol, "\n"}], Colors); |
|
|
|
format(Msg, [{eol, EOL}], Colors) -> |
|
|
@ -68,22 +68,22 @@ format(Message, Config, Colors) -> |
|
|
|
_ -> output(V, Message) |
|
|
|
end || V <- Config]. |
|
|
|
|
|
|
|
-spec format(lager_msg:lager_msg(), list()) -> any(). |
|
|
|
-spec format(rumMsg:rumMsg(), list()) -> any(). |
|
|
|
format(Msg, Config) -> |
|
|
|
format(Msg, Config, []). |
|
|
|
|
|
|
|
-spec output(term(), lager_msg:lager_msg()) -> iolist(). |
|
|
|
output(message, Msg) -> lager_msg:message(Msg); |
|
|
|
-spec output(term(), rumMsg:rumMsg()) -> iolist(). |
|
|
|
output(message, Msg) -> rumMsg:message(Msg); |
|
|
|
output(date, Msg) -> |
|
|
|
{D, _T} = lager_msg:datetime(Msg), |
|
|
|
{D, _T} = rumMsg:datetime(Msg), |
|
|
|
D; |
|
|
|
output(time, Msg) -> |
|
|
|
{_D, T} = lager_msg:datetime(Msg), |
|
|
|
{_D, T} = rumMsg:datetime(Msg), |
|
|
|
T; |
|
|
|
output(severity, Msg) -> |
|
|
|
atom_to_list(lager_msg:severity(Msg)); |
|
|
|
atom_to_list(rumMsg:severity(Msg)); |
|
|
|
output(severity_upper, Msg) -> |
|
|
|
uppercase_severity(lager_msg:severity(Msg)); |
|
|
|
uppercase_severity(rumMsg:severity(Msg)); |
|
|
|
output(blank, _Msg) -> |
|
|
|
output({blank, " "}, _Msg); |
|
|
|
output(node, _Msg) -> |
|
|
@ -92,25 +92,25 @@ output({blank, Fill}, _Msg) -> |
|
|
|
Fill; |
|
|
|
output(sev, Msg) -> |
|
|
|
%% Write brief acronym for the severity level (e.g. debug -> $D) |
|
|
|
[rumUtil:level_to_chr(lager_msg:severity(Msg))]; |
|
|
|
[rumUtil:level_to_chr(rumMsg:severity(Msg))]; |
|
|
|
output(metadata, Msg) -> |
|
|
|
output({metadata, "=", " "}, Msg); |
|
|
|
output({metadata, IntSep, FieldSep}, Msg) -> |
|
|
|
MD = lists:keysort(1, lager_msg:metadata(Msg)), |
|
|
|
MD = lists:keysort(1, rumMsg: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(maybe_get_persistent_term(Key, Default)); |
|
|
|
output(Prop, Msg) when is_atom(Prop) -> |
|
|
|
Metadata = lager_msg:metadata(Msg), |
|
|
|
Metadata = rumMsg:metadata(Msg), |
|
|
|
make_printable(get_metadata(Prop, Metadata, <<"Undefined">>)); |
|
|
|
output({Prop, Default}, Msg) when is_atom(Prop) -> |
|
|
|
Metadata = lager_msg:metadata(Msg), |
|
|
|
Metadata = rumMsg:metadata(Msg), |
|
|
|
make_printable(get_metadata(Prop, Metadata, output(Default, Msg))); |
|
|
|
output({Prop, Present, Absent}, Msg) when is_atom(Prop) -> |
|
|
|
%% sort of like a poor man's ternary operator |
|
|
|
Metadata = lager_msg:metadata(Msg), |
|
|
|
Metadata = rumMsg:metadata(Msg), |
|
|
|
case get_metadata(Prop, Metadata) of |
|
|
|
undefined -> |
|
|
|
[output(V, Msg) || V <- Absent]; |
|
|
@ -119,7 +119,7 @@ output({Prop, Present, Absent}, Msg) when is_atom(Prop) -> |
|
|
|
end; |
|
|
|
output({Prop, Present, Absent, Width}, Msg) when is_atom(Prop) -> |
|
|
|
%% sort of like a poor man's ternary operator |
|
|
|
Metadata = lager_msg:metadata(Msg), |
|
|
|
Metadata = rumMsg:metadata(Msg), |
|
|
|
case get_metadata(Prop, Metadata) of |
|
|
|
undefined -> |
|
|
|
[output(V, Msg, Width) || V <- Absent]; |
|
|
@ -128,18 +128,18 @@ output({Prop, Present, Absent, Width}, Msg) when is_atom(Prop) -> |
|
|
|
end; |
|
|
|
output(Other, _) -> make_printable(Other). |
|
|
|
|
|
|
|
output(message, Msg, _Width) -> lager_msg:message(Msg); |
|
|
|
output(message, Msg, _Width) -> rumMsg:message(Msg); |
|
|
|
output(date, Msg, _Width) -> |
|
|
|
{D, _T} = lager_msg:datetime(Msg), |
|
|
|
{D, _T} = rumMsg:datetime(Msg), |
|
|
|
D; |
|
|
|
output(time, Msg, _Width) -> |
|
|
|
{_D, T} = lager_msg:datetime(Msg), |
|
|
|
{_D, T} = rumMsg:datetime(Msg), |
|
|
|
T; |
|
|
|
output(severity, Msg, Width) -> |
|
|
|
make_printable(atom_to_list(lager_msg:severity(Msg)), Width); |
|
|
|
make_printable(atom_to_list(rumMsg:severity(Msg)), Width); |
|
|
|
output(sev, Msg, _Width) -> |
|
|
|
%% Write brief acronym for the severity level (e.g. debug -> $D) |
|
|
|
[rumUtil:level_to_chr(lager_msg:severity(Msg))]; |
|
|
|
[rumUtil:level_to_chr(rumMsg:severity(Msg))]; |
|
|
|
output(node, Msg, _Width) -> |
|
|
|
output({node, atom_to_list(node())}, Msg, _Width); |
|
|
|
output(blank, _Msg, _Width) -> |
|
|
@ -149,7 +149,7 @@ output({blank, Fill}, _Msg, _Width) -> |
|
|
|
output(metadata, Msg, _Width) -> |
|
|
|
output({metadata, "=", " "}, Msg, _Width); |
|
|
|
output({metadata, IntSep, FieldSep}, Msg, _Width) -> |
|
|
|
MD = lists:keysort(1, lager_msg:metadata(Msg)), |
|
|
|
MD = lists:keysort(1, rumMsg: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); |
|
|
@ -157,16 +157,16 @@ output({pterm, Key, Default}, _Msg, _Width) -> |
|
|
|
make_printable(maybe_get_persistent_term(Key, Default)); |
|
|
|
|
|
|
|
output(Prop, Msg, Width) when is_atom(Prop) -> |
|
|
|
Metadata = lager_msg:metadata(Msg), |
|
|
|
Metadata = rumMsg:metadata(Msg), |
|
|
|
make_printable(get_metadata(Prop, Metadata, <<"Undefined">>), Width); |
|
|
|
output({Prop, Default}, Msg, Width) when is_atom(Prop) -> |
|
|
|
Metadata = lager_msg:metadata(Msg), |
|
|
|
Metadata = rumMsg:metadata(Msg), |
|
|
|
make_printable(get_metadata(Prop, Metadata, output(Default, Msg)), Width); |
|
|
|
output(Other, _, Width) -> make_printable(Other, Width). |
|
|
|
|
|
|
|
output_color(_Msg, []) -> []; |
|
|
|
output_color(Msg, Colors) -> |
|
|
|
Level = lager_msg:severity(Msg), |
|
|
|
Level = rumMsg:severity(Msg), |
|
|
|
case lists:keyfind(Level, 1, Colors) of |
|
|
|
{_, Color} -> Color; |
|
|
|
_ -> [] |
|
|
@ -275,7 +275,7 @@ basic_test_() -> |
|
|
|
{Date, Time, Now} = date_time_now(), |
|
|
|
[{"Default formatting test", |
|
|
|
?_assertEqual(iolist_to_binary([Date, " ", Time, " [error] ", pid_to_list(self()), " Message\n"]), |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
error, |
|
|
|
[{pid, self()}], |
|
|
@ -284,7 +284,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"Basic Formatting", |
|
|
|
?_assertEqual(<<"Simplist Format">>, |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
error, |
|
|
|
[{pid, self()}], |
|
|
@ -293,7 +293,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"Default equivalent formatting test", |
|
|
|
?_assertEqual(iolist_to_binary([Date, " ", Time, " [error] ", pid_to_list(self()), " Message\n"]), |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
error, |
|
|
|
[{pid, self()}], |
|
|
@ -303,7 +303,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"Non existent metadata can default to string", |
|
|
|
?_assertEqual(iolist_to_binary([Date, " ", Time, " [error] Fallback Message\n"]), |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
error, |
|
|
|
[{pid, self()}], |
|
|
@ -313,7 +313,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"Non existent metadata can default to other metadata", |
|
|
|
?_assertEqual(iolist_to_binary([Date, " ", Time, " [error] Fallback Message\n"]), |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
error, |
|
|
|
[{pid, "Fallback"}], |
|
|
@ -323,7 +323,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"Non existent metadata can default to a string2", |
|
|
|
?_assertEqual(iolist_to_binary(["Unknown Pid"]), |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
error, |
|
|
|
[], |
|
|
@ -333,7 +333,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"Metadata can have extra formatting", |
|
|
|
?_assertEqual(iolist_to_binary(["My pid is hello"]), |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
error, |
|
|
|
[{pid, hello}], |
|
|
@ -343,7 +343,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"Metadata can have extra formatting1", |
|
|
|
?_assertEqual(iolist_to_binary(["servername"]), |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
error, |
|
|
|
[{pid, hello}, {server, servername}], |
|
|
@ -353,7 +353,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"Metadata can have extra formatting2", |
|
|
|
?_assertEqual(iolist_to_binary(["(hello)"]), |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
error, |
|
|
|
[{pid, hello}], |
|
|
@ -363,7 +363,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"Metadata can have extra formatting3", |
|
|
|
?_assertEqual(iolist_to_binary(["(Unknown Server)"]), |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
error, |
|
|
|
[], |
|
|
@ -373,7 +373,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"Metadata can be printed in its enterity", |
|
|
|
?_assertEqual(iolist_to_binary(["bar=2 baz=3 foo=1"]), |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
error, |
|
|
|
[{foo, 1}, {bar, 2}, {baz, 3}], |
|
|
@ -383,7 +383,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"Metadata can be printed in its enterity with custom seperators", |
|
|
|
?_assertEqual(iolist_to_binary(["bar->2, baz->3, foo->1"]), |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
error, |
|
|
|
[{foo, 1}, {bar, 2}, {baz, 3}], |
|
|
@ -393,7 +393,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"Metadata can have extra formatting with width 1", |
|
|
|
?_assertEqual(iolist_to_binary(["(hello )(hello )(hello)(hello)(hello)"]), |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
error, |
|
|
|
[{pid, hello}], |
|
|
@ -407,7 +407,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"Metadata can have extra formatting with width 2", |
|
|
|
?_assertEqual(iolist_to_binary(["(hello )"]), |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
error, |
|
|
|
[{pid, hello}], |
|
|
@ -417,7 +417,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"Metadata can have extra formatting with width 3", |
|
|
|
?_assertEqual(iolist_to_binary(["( hello)"]), |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
error, |
|
|
|
[{pid, hello}], |
|
|
@ -427,7 +427,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"Metadata can have extra formatting with width 4", |
|
|
|
?_assertEqual(iolist_to_binary(["( hello )"]), |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
error, |
|
|
|
[{pid, hello}], |
|
|
@ -437,7 +437,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"Metadata can have extra formatting with width 5", |
|
|
|
?_assertEqual(iolist_to_binary(["error |hello ! ( hello )"]), |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
error, |
|
|
|
[{pid, hello}], |
|
|
@ -447,7 +447,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"Metadata can have extra formatting with width 6", |
|
|
|
?_assertEqual(iolist_to_binary([Time, Date, " bar=2 baz=3 foo=1 pid=hello EMessage"]), |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
error, |
|
|
|
[{pid, hello}, {foo, 1}, {bar, 2}, {baz, 3}], |
|
|
@ -457,7 +457,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"Uppercase Severity Formatting - DEBUG", |
|
|
|
?_assertEqual(<<"DEBUG Simplist Format">>, |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
debug, |
|
|
|
[{pid, self()}], |
|
|
@ -466,7 +466,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"Uppercase Severity Formatting - INFO", |
|
|
|
?_assertEqual(<<"INFO Simplist Format">>, |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
info, |
|
|
|
[{pid, self()}], |
|
|
@ -475,7 +475,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"Uppercase Severity Formatting - NOTICE", |
|
|
|
?_assertEqual(<<"NOTICE Simplist Format">>, |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
notice, |
|
|
|
[{pid, self()}], |
|
|
@ -484,7 +484,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"Uppercase Severity Formatting - WARNING", |
|
|
|
?_assertEqual(<<"WARNING Simplist Format">>, |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
warning, |
|
|
|
[{pid, self()}], |
|
|
@ -493,7 +493,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"Uppercase Severity Formatting - ERROR", |
|
|
|
?_assertEqual(<<"ERROR Simplist Format">>, |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
error, |
|
|
|
[{pid, self()}], |
|
|
@ -502,7 +502,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"Uppercase Severity Formatting - CRITICAL", |
|
|
|
?_assertEqual(<<"CRITICAL Simplist Format">>, |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
critical, |
|
|
|
[{pid, self()}], |
|
|
@ -511,7 +511,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"Uppercase Severity Formatting - ALERT", |
|
|
|
?_assertEqual(<<"ALERT Simplist Format">>, |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
alert, |
|
|
|
[{pid, self()}], |
|
|
@ -520,7 +520,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"Uppercase Severity Formatting - EMERGENCY", |
|
|
|
?_assertEqual(<<"EMERGENCY Simplist Format">>, |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
emergency, |
|
|
|
[{pid, self()}], |
|
|
@ -534,7 +534,7 @@ basic_test_() -> |
|
|
|
?_assertEqual(<<"Pterm is: something">>, |
|
|
|
begin |
|
|
|
persistent_term:put(thing, something), |
|
|
|
Ret = iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
Ret = iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
emergency, |
|
|
|
[{pid, self()}], |
|
|
@ -548,7 +548,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"pterm absence test", |
|
|
|
?_assertEqual(<<"Pterm is: nothing">>, |
|
|
|
iolist_to_binary(format(lager_msg:new("Message", |
|
|
|
iolist_to_binary(format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
emergency, |
|
|
|
[{pid, self()}], |
|
|
@ -557,7 +557,7 @@ basic_test_() -> |
|
|
|
}, |
|
|
|
{"node formatting basic", |
|
|
|
begin |
|
|
|
[N, "foo"] = format(lager_msg:new("Message", |
|
|
|
[N, "foo"] = format(rumMsg:new("Message", |
|
|
|
Now, |
|
|
|
info, |
|
|
|
[{pid, self()}], |
|
|
|