> RFC5424 lets you do flat name/value pairs, but it turns out that it's extremely valuable to be able to have more structure than that.
Having more structure than that adds too much complexity to be worthwhile. You can approximate structure using keys.with.dots or numbers --- e.g., filename1=foo filename2=bar. Hierarchy adds far more complexity to makes indexing and browsing, very common cases, than it adds to the very rare log message with repeated units.
Can you give me an example of a situation in which hierarchical logging is clearly better than key-value pairs?