I changed my (Debian 6.0) rsyslog configuration so that it uses high-precision timestamps. Indeed it does, and it gives me microseconds, both in kernel entries and in some other entries such as puppet's. But haproxy's entries are precise to the second. For example:
2012-04-23T17:48:23.122513+03:00 debianvboxtest puppet-agent[11367]: Finished catalog run in 1.82 seconds
2012-04-23T17:49:01+03:00 debianvboxtest haproxy[11555]: Proxy http-in started.
2012-04-23T17:49:27+03:00 debianvboxtest haproxy[11556]: 192.168.1.67:39202 [23/Apr/2012:17:49:26.273] http-in http-in/server01 0/0/0/0/1046 403 324 - - ---- 0/0/0/0/0 0/0 "GET / HTTP/1.1"
Is this problem at the haproxy side or at the rsyslog side?
The timestamp is written by rsyslog; do a simple tcpdump of one of these packets if you want to be sure.
The difference between haproxy and other processes was that hparoxy was logging to 127.0.0.1 (udp port 514), whereas the other processes were logging to /dev/log. I changed haproxy to log to /dev/log as well, and now timestamps also have microseconds. Either a bug or a feature of rsyslog.