...This last is a good point.
It is not necessary to dump all of your messages into a single log file. One very elegant strategy I encountered recently was to maintain a separate file for messages of each severity level.
Imagine a set of message severity levels:
If we use "information" as the default logging level, we would produce three output log files. If the end-user selects a higher level of logging, then files for that severity level would be updated too.
In this software, the designers also had log information sent to STDERR so that you could observe if you felt like it. The syntax model for the command line was like:
As an administrator of that software, I appreciate the ability to ask for as much (or as little) information as I need. I try to write my own programs in that same fashion.
...all the world looks like -well- all the world, when your hammer is perl. ---v