in reply to Logging best practices

Log::Log4perl provides log levels and log categories to accomplish exactly the kind of behaviour you want.

To configure your application in order to log messages of different log levels to different files, take a look at this particular FAQ.

As for having chatter logs and error logs, that's pretty common. However, typically, applications put both debug and error messages into the chatty log files (and errors-only into the error log files) because errors don't use much additional disk space but provide valuable contextual info in the chatty log files. But that's up to you, Log::Log4perl allows for both ways.

For a general overview on Log::Log4perl, check out this article or the documentation.