如何记录ejabberd中收到的原始xml节?

时间:2015-10-10 11:23:05

标签: erlang ejabberd

在下面的代码中,代码应该进入 on_filter_packet 以记录收到的原始节

table.scroll tbody,
table.scroll thead { display: block; }

修改

代码**?INFO_MSG(“运行过滤器。调试:~p”,[xml:element_to_string(数据包)]),**将以下消息记录到文件** / var / log / ejabberd / ejabberd。登录**

init([Host]) ->
        ejabberd_hooks:add(filter_packet, global, ?MODULE, on_filter_packet, 50),
        {ok, #state{}}.

on_filter_packet({From, To, Packet} = Input) ->
    % HOW TO LOG RAW XML PACKET ?
        Packet.

如何以原始xml格式记录收到的数据包?

1 个答案:

答案 0 :(得分:0)

您可以使用INFO_MSG宏并展平您的列表:

on_filter_packet({From, To, Packet} = Input) ->
    ?INFO_MSG("My packet: ~p ", [lists:flatten(Packet)]),
    Packet.