XML based format
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>