XML based format
From rsyslog wiki
An XML-based format has the advantage of being "out of the box" somewhat compliant to http://www.ietf.org/rfc/rfc4741.txt, the netconf configuration protocol.
However, I consider it ugly and hard to work with - but the advantage of following standards-track movements is definitely there. Also, the format is easy to parse for rsyslog.
Here is a dummy example, which I will extend soon:
<config xmlns:xc="urn:ietf:params:xml:ns:netconf:base:1.0">
<top xmlns="http://example.com/schema/1.2/config">
<filter id="filterErr">
<condition>%severity < "debug" and
lower(substr(%msg, 5, 3)) <> "err"</condition>
</filter>
<rule id="rule1">
<filter name="filterErr" />
<action name="action1" />
<action>
<type>filewrite</type>
<file>/var/log/messages.log</file>
</action>
</rule>
<ruleset id="rs1">
<source>udplistener</source>
<rule name="rule1" />
</ruleset>
</top>
</config>

