aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/ejabberd_hooks.erl11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/ejabberd_hooks.erl b/src/ejabberd_hooks.erl
index 28d994c4a..bbd2050a3 100644
--- a/src/ejabberd_hooks.erl
+++ b/src/ejabberd_hooks.erl
@@ -381,10 +381,13 @@ safe_apply(Hook, Module, Function, Args) ->
apply(Module, Function, Args)
end
catch ?EX_RULE(E, R, St) when E /= exit; R /= normal ->
- ?ERROR_MSG("Hook ~p crashed when running ~p:~p/~p:~n"
- "** Reason = ~p~n"
- "** Arguments = ~p",
+ ?ERROR_MSG("Hook ~p crashed when running ~p:~p/~p:~n" ++
+ string:join(
+ ["** Reason = ~p"|
+ ["** Arg " ++ integer_to_list(I) ++ " = ~p"
+ || I <- lists:seq(1, length(Args))]],
+ "~n"),
[Hook, Module, Function, length(Args),
- {E, R, ?EX_STACK(St)}, Args]),
+ {E, R, ?EX_STACK(St)}|Args]),
'EXIT'
end.