aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_router.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2018-09-01 19:37:26 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2018-09-01 19:37:26 +0300
commit88d0b71d58cba45cdbf051f80e2c7c1940f96c75 (patch)
treedc2856b1b053c29e8cbf9a3b98dbdcf7091bcb36 /src/ejabberd_router.erl
parentDon't set termination reason into presence-unavailable status (diff)
Get stacktrace out of lager context
Calling erlang:get_stacktrace() inside lager functions produces stacktraces of the logging function itself, not the function which has failed.
Diffstat (limited to 'src/ejabberd_router.erl')
-rw-r--r--src/ejabberd_router.erl3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/ejabberd_router.erl b/src/ejabberd_router.erl
index b668f2b37..cf4bd8e42 100644
--- a/src/ejabberd_router.erl
+++ b/src/ejabberd_router.erl
@@ -91,8 +91,9 @@ start_link() ->
route(Packet) ->
try do_route(Packet)
catch E:R ->
+ St = erlang:get_stacktrace(),
?ERROR_MSG("failed to route packet:~n~s~nReason = ~p",
- [xmpp:pp(Packet), {E, {R, erlang:get_stacktrace()}}])
+ [xmpp:pp(Packet), {E, {R, St}}])
end.
-spec route(jid(), jid(), xmlel() | stanza()) -> ok.