All hundreds of different programs are already doing their thing with a single interface thing called syslog. Or write(2) if you will. The thing that is meant to replace the old and working interface is going to be a system library, that all programs will have to link to, implementing a complex XML-based multi-standard (
http://cee.mitre.org/docs/overview.html,
http://cee.mitre.org/docs/profiles.html,
http://cee.mitre.org/docs/cls.html,
http://cee.mitre.org/docs/clt.html). Inevitably this library is going to evolve and we'll have multiple binary-incompatible versions of the same. Which is good for normal libraries but less so for system ones. Yet another barrier to entry limiting the flexibility of Linux's userspace - that's why I think it should be a server-only thing.