I hate to admit it, but the Java folks are better off here. They have the Jakarta Commons Logging package, which is a very light-weight wrapper around the various logging frameworks. An application can be written using Commons Logging and will work with any of the supported implementations. Configuration is done by the user at deploy-time and transparent to the application code. Even if no configuration is done, it provides reasonable defaults.
I think Perl should have something like this.
Actually, we have something like this, it is called warn, but it is obviously quite limited (no logging categories or log levels). Are there plans for Perl6 to have an extended version of warn which can act as an interface to pluggable logging implementations?