diff --git a/mod_logxml/src/mod_logxml.erl b/mod_logxml/src/mod_logxml.erl index 5ac6238..3d89ae9 100644 --- a/mod_logxml/src/mod_logxml.erl +++ b/mod_logxml/src/mod_logxml.erl @@ -183,12 +183,15 @@ add_log(Io, Timezone, ShowIP, {Orientation, From, To, Packet}, _OSD) -> recv -> To end, LocalIPS = case ShowIP of - true -> - {UserIP, _Port} = ejabberd_sm:get_user_ip( - LocalJID#jid.user, - LocalJID#jid.server, - LocalJID#jid.resource), - io_lib:format("lip=\"~s\" ", [inet_parse:ntoa(UserIP)]); + true -> + case ejabberd_sm:get_user_ip( + LocalJID#jid.user, + LocalJID#jid.server, + LocalJID#jid.resource) of + {UserIP, _Port} -> + io_lib:format("lip=\"~s\" ", [inet_parse:ntoa(UserIP)]); + undefined -> "lip=\"undefined\" " + end; false -> "" end, TimestampISO = get_now_iso(Timezone),