From f27480c8a7c25534a111d97974734e7f59d143df Mon Sep 17 00:00:00 2001 From: Andrew Thompson Date: Thu, 12 Feb 2015 23:07:32 +0000 Subject: [PATCH] Fix #252 and add some more tests to the formatter --- README.md | 4 +-- src/lager_default_formatter.erl | 52 ++++++++++++++++++++++++++++++++- 2 files changed, 53 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index bbcad14..f100fa6 100644 --- a/README.md +++ b/README.md @@ -129,8 +129,8 @@ Examples: ["Foo"] -> "Foo", regardless of message content. [message] -> The content of the logged message, alone. [{pid,"Unknown Pid"}] -> "" if pid is in the metadata, "Unknown Pid" if not. -[{pid, ["My pid is ", pid], "Unknown Pid"}] -> if pid is in the metadata print "My pid is ", otherwise print "Unknown Pid" -[{server,[$(,{pid,"Unknown Server"},$)]}}] -> user provided server metadata, otherwise "()", otherwise "(Unknown Server)" +[{pid, ["My pid is ", pid], ["Unknown Pid"]}] -> if pid is in the metadata print "My pid is ", otherwise print "Unknown Pid" +[{server,{pid, ["(", pid, ")"], ["(Unknown Server)"]}}] -> user provided server metadata, otherwise "()", otherwise "(Unknown Server)" ``` Error logger integration diff --git a/src/lager_default_formatter.erl b/src/lager_default_formatter.erl index 312f6a0..513c8e3 100644 --- a/src/lager_default_formatter.erl +++ b/src/lager_default_formatter.erl @@ -51,7 +51,7 @@ %% %% `[{pid,"Unknown Pid"}]' -> "?.?.?" if pid is in the metadata, "Unknown Pid" if not. %% -%% `[{pid, ["My pid is ", pid], "Unknown Pid"}]' -> if pid is in the metada print "My pid is ?.?.?", otherwise print "Unknown Pid" +%% `[{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(). format(Msg,[], Colors) -> @@ -183,6 +183,56 @@ basic_test_() -> []), [date, " ", time," [",severity,"] ",{does_not_exist,pid}, " ", message, "\n"] ))) + }, + {"Non existant metadata can default to a string2", + ?_assertEqual(iolist_to_binary(["Unknown Pid"]), + iolist_to_binary(format(lager_msg:new("Message", + Now, + error, + [], + []), + [{pid, ["My pid is ", pid], ["Unknown Pid"]}] + ))) + }, + {"Metadata can have extra formatting", + ?_assertEqual(iolist_to_binary(["My pid is hello"]), + iolist_to_binary(format(lager_msg:new("Message", + Now, + error, + [{pid, hello}], + []), + [{pid, ["My pid is ", pid], ["Unknown Pid"]}] + ))) + }, + {"Metadata can have extra formatting1", + ?_assertEqual(iolist_to_binary(["servername"]), + iolist_to_binary(format(lager_msg:new("Message", + Now, + error, + [{pid, hello}, {server, servername}], + []), + [{server,{pid, ["(", pid, ")"], ["(Unknown Server)"]}}] + ))) + }, + {"Metadata can have extra formatting2", + ?_assertEqual(iolist_to_binary(["(hello)"]), + iolist_to_binary(format(lager_msg:new("Message", + Now, + error, + [{pid, hello}], + []), + [{server,{pid, ["(", pid, ")"], ["(Unknown Server)"]}}] + ))) + }, + {"Metadata can have extra formatting3", + ?_assertEqual(iolist_to_binary(["(Unknown Server)"]), + iolist_to_binary(format(lager_msg:new("Message", + Now, + error, + [], + []), + [{server,{pid, ["(", pid, ")"], ["(Unknown Server)"]}}] + ))) } ].