I am writing a lot about rsyslog config file formats these days. Now I think I come closer to a result. The past days, I have thought a lot about potential formats. Now, I have created configuration samples in the rsyslog wiki. Also, some others have posted hints.
I now have two favorites: one is a XML-based format. Its advantage is that it would be easy to use when (if) we implement NETCONF protocol. If I assume NETCONF will actually become *the* configuration standard, this is a big pro argument for that format. However, I consider the format to be exceptionally bulky and pretty less intuitive. In other words, I do not really like it - but that doesn't mean it is a bad choice.
What I like more is a programming-language like format (and especially the last sample in the wiki article). It looks somewhat more "natural" to me, but this may be because I like programming languages ;) In any case, I think it is easier to grasp and modify, but of course it is not standardized. Plus, there are three different samples, each in a different style and level of verbosity.
The question is now what users consider to be best. I sincerely hope to receive feedback, as I probably have only one "shot" at this for the foreseeable future (well... I have to admit that I thought about dynamically loadable config file parsers, but that adds probably too much complexity).
So if you have anything to say, please speak up now! If you do not know where to make yourself heard, simply post to the rsyslog forum thread on the config file format.