From ebf74afbf003b96b11f65a771f0de074d5ce1bee Mon Sep 17 00:00:00 2001 From: Mark Allen Date: Sat, 17 Mar 2018 11:50:23 -0700 Subject: [PATCH] Add `node` as a formatting option Closes #309. This will enable the use of `node` in log formatting. It uses the value of the node() function via atom_to_list/1 to output a value. There is a simple test case. --- src/lager_default_formatter.erl | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/lager_default_formatter.erl b/src/lager_default_formatter.erl index 379ccd3..a74cdc7 100644 --- a/src/lager_default_formatter.erl +++ b/src/lager_default_formatter.erl @@ -90,6 +90,8 @@ output(severity_upper, Msg) -> uppercase_severity(lager_msg:severity(Msg)); output(blank,_Msg) -> output({blank," "},_Msg); +output(node, _Msg) -> + output({node, atom_to_list(node())},_Msg); output({blank,Fill},_Msg) -> Fill; output(sev,Msg) -> @@ -138,6 +140,8 @@ output(severity, Msg, Width) -> output(sev,Msg, _Width) -> %% Write brief acronym for the severity level (e.g. debug -> $D) [lager_util:level_to_chr(lager_msg:severity(Msg))]; +output(node, Msg, _Width) -> + output({node, atom_to_list(node())}, Msg, _Width); output(blank,_Msg, _Width) -> output({blank, " "},_Msg, _Width); output({blank, Fill},_Msg, _Width) -> @@ -477,6 +481,18 @@ basic_test_() -> [{pid, self()}], []), [severity_upper, " Simplist Format"]))) + }, + {"node formatting basic", + begin + [N, F] = format(lager_msg:new("Message", + Now, + info, + [{pid, self()}], + []), + [node, "foo"]), + ?_assertEqual("foo", F), + ?_assertNotEqual(nomatch, re:run(N, <<"@">>)) + end } ].