> Programs that send their logs directly to a logfile lose all the power and flexibility of unix streams.<p>That's because if they push their data to stdout, and it's not caught by a pipe, the program will halt when the OS stdout buffer is filled.<p>> How many programs end up re-writing log rotation, for example?<p>This one is because files over a certain size cause certain file management systems, or kernels, to break logging. If they didn't rotate the files, the system would become unresponsive at worst, or the program would go down at best. Plus, if you take care of rotation and compression yourself (either directly or through a logrotated conf), you don't have to worry about filling a disk & causing an outage.<p>In short, logging is hard, because systems are managed by people. And people rarely get the logging setups right the first time.