This basic file logger accepts a callback, which is called for each message which is to be logged. When you need complex things, you may best make your own extension to Log::Report::Dispatcher, but for simple things this will do.

Your callback is called with four parameters: this dispatcher object, the options, a reason and a message. The options are the first parameter of Log::Report::report() (read over there). The reason is a capitized string like ERROR. Finally, the message is a Log::Report::Message.