ejabberd-contrib/mod_logxml
Badlop f4ea11b0b6 Fix minor typos 2023-05-16 14:17:00 +02:00
..
conf Modules that require configuration, provide it commented (#303) 2021-07-07 21:53:44 +02:00
src Support 'auto' value in log options, set as default 2022-07-26 15:41:19 +02:00
COPYING Update FSF address (solves #73) 2015-02-25 15:17:31 +01:00
ChangeLog Initial import from ejabberd-modules SVN 2013-04-15 12:03:14 +02:00
README.md Fix minor typos 2023-05-16 14:17:00 +02:00
mod_logxml.spec Cleanup for module packaging support in ejabberd 2015-03-11 14:19:35 +01:00

README.md

mod_logxml - Log XMPP packets to XML file

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 to auto, it uses the ejabberd log path. Default value: auto
  • show_ip: If the IP address of the local user should be logged to file. Default value: false
  • rotate_days: Rotate logs every X days. Put 0 to disable this limit. Default value: 1
  • rotate_megs: Rotate when the logfile size is higher than this, in megabytes. Put 0 to disable this limit. Default value: 10
  • rotate_kpackets: Rotate every *1000 XMPP packets logged. Put 0 to disable this limit. Default value: 10
  • check_rotate_kpackets: Check rotation every *1000 packets. 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, either send or recv
  • ljid: local JID of the sender or receiver, depending on the orientation
  • ts: timestamp when the packet was logged