xmllayout2 provides a Python logging Formatter that formats log messages as XML, according to `log4j's XMLLayout specification
xmllayout2 formatted log messages can be viewed and filtered within the Chainsaw application (see the example section below), part of the Java based log4j project.
This is a fork of Philip Jenveys fork of xmllayout maintained for usage in commercial projects, with supporting a variety of Python versions.
via pip: pip install xmllayout2
for local development: pip install .
This package includes a RawSocketHandler
-- like
logging.handler.SocketHandler
, but sends the raw log message over the socket
instead of a pickled version. RawSocketHandler
can be configured to send log
messages to Chainsaw directly over a socket.
For example to forward log messages to Chainsaw, if it were listening on localhost port 4448:
import logging
import xmllayout2
handler = xmllayout2.RawSocketHandler('localhost', 4448)
handler.setFormatter(xmllayout2.XMLLayout())
logging.root.addHandler(handler)