mod_logxml - Log XMPP packets to XML file
- Homepage: http://www.ejabberd.im/mod_logxml
- Author: Badlop
- Requires: ejabberd 19.08 or higher
Description
This module sniffs all the XMPP traffic send and received by ejabberd, both internally and externally transmitted. It logs the XMPP packets to a XML formatted file. It's posible to filter transmitted packets by orientation, stanza and direction. It's possible to configure the file rotation rules and intervals.
This module reuses code from mod_log_forensic, mod_stats2file, mod_muc_log.
Configuration
stanza: Log packets only when stanza matches. Default value:[iq, message, presence, other]direction: Log packets only when direction matches. Default value:[internal, vhosts, external]orientation: Log packets only when orientation matches. Default value:[send, recv]logdir: Base filename, including absolute path. If set toauto, it uses the ejabberd log path. Default value:autoshow_ip: If the IP address of the local user should be logged to file. Default value:falserotate_days: Rotate logs every X days. Put 0 to disable this limit. Default value:1rotate_megs: Rotate when the logfile size is higher than this, in megabytes. Put 0 to disable this limit. Default value:10rotate_kpackets: Rotate every *1000 XMPP packets logged. Put0to disable this limit. Default value:10check_rotate_kpackets: Check rotation every*1000packets. Default value:1
Example Configuration
modules:
mod_logxml:
stanza:
- iq
- other
direction:
- external
orientation:
- send
- recv
logdir: "/tmp/logs/"
show_ip: false
rotate_days: 1
rotate_megs: 100
rotate_kpackets: 0
check_rotate_kpackets: 1
XML Format
XMPP packets are enclosed in <packet>, with attributes:
or: orientation of the packet, eithersendorrecvljid: local JID of the sender or receiver, depending on the orientationts: timestamp when the packet was logged