Log::Log4perl lets you remote-control and fine-tune the logging behaviour of your system from the outside. It implements the widely popular (Java-based) Log4j logging package in pure Perl.
It allows you to control the number of logging messages generated at three different levels:
At a central location in your system (either in a configuration file or in the startup code) you specify which components (classes, functions) of your system should generate logs.
You specify how detailed the logging of these components should be by specifying logging levels.
You also specify which so-called appenders you want to feed your log messages to and which format they should be in.