Add support for traces with an argument list
diff --git a/src/couch_log_formatter.erl b/src/couch_log_formatter.erl
index a2c5305..089c80f 100644
--- a/src/couch_log_formatter.erl
+++ b/src/couch_log_formatter.erl
@@ -283,10 +283,18 @@
when is_atom(M), is_atom(F), is_integer(A) ->
[format_reason(Reason), " at ", format_trace(Trace)];
+format_reason({Reason, [{M, F, A} | _] = Trace})
+ when is_atom(M), is_atom(F), is_list(A) ->
+ [format_reason(Reason), " at ", format_trace(Trace)];
+
format_reason({Reason, [{M, F, A, Props} | _] = Trace})
when is_atom(M), is_atom(F), is_integer(A), is_list(Props) ->
[format_reason(Reason), " at ", format_trace(Trace)];
+format_reason({Reason, [{M, F, A, Props} | _] = Trace})
+ when is_atom(M), is_atom(F), is_list(A), is_list(Props) ->
+ [format_reason(Reason), " at ", format_trace(Trace)];
+
format_reason(Reason) ->
{Str, _} = couch_log_trunc_io:print(Reason, 500),
Str.