Log::Report::Dispatcher::LogDispatch(3)

NAME
Log::Report::Dispatcher::LogDispatch - send messages to Log::Dispatch back-end

INHERITANCE
 Log::Report::Dispatcher::LogDispatch
   is a Log::Report::Dispatcher

SYNOPSIS
  use Log::Dispatch::File;
  dispatcher Log::Dispatch::File => 'logger', accept => 'NOTICE-',
    filename => 'logfile', to_level => [ 'ALERT-' => 'err' ];

  # disable default dispatcher
  dispatcher close => 'logger';

DESCRIPTION
This dispatchers produces output to and "Log::Dispatch" back-end. (which will NOT be automatically installed for you).

The REASON for a message often uses names which are quite similar to the log-levels used by Log::Dispatch. However: they have a different approach. The REASON of Log::Report limits the responsibility of the programmer to indicate the cause of the message: whether it was able to handle a certain situation. The Log::Dispatch levels are there for the user's of the program. However: the programmer does not known anything about the application (in the general case). This is cause of much of the trickery in Perl programs.

The default translation table is list below. You can change the mapping using new(to_level). See example in SYNOPSIS.

Extends "DESCRIPTION" in Log::Report::Dispatcher.

METHODS
Extends "METHODS" in Log::Report::Dispatcher.

  Constructors
Extends "Constructors" in Log::Report::Dispatcher.

$class->new($type, $name, %options)
    The Log::Dispatch infrastructure has quite a large number of output TYPEs, each extending the Log::Dispatch::Output base-class. You do not create these objects yourself: Log::Report is doing it for you.

    The Log::Dispatch back-ends are very careful with validating their parameters, so you will need to restrict the options to what is supported for the specific back-end. See their respective manual-pages. The errors produced by the back-ends quite horrible and untranslated, sorry. Improves base, see "Constructors" in Log::Report::Dispatcher

     -Option       --Defined in             --Default
      accept         Log::Report::Dispatcher  depend on mode
      callbacks                               []
      charset        Log::Report::Dispatcher  undef
      format_reason  Log::Report::Dispatcher  'LOWERCASE'
      locale         Log::Report::Dispatcher  <system locale>
      max_level                               undef
      min_level                               debug
      mode           Log::Report::Dispatcher  'NORMAL'
      to_level                                []

    accept => $reasons|\@reasons
    callbacks => CODE|\@CODE
        See Log::Dispatch::Output.

    charset => CHARSET
    format_reason => 'UPPERCASE'|'LOWERCASE'|'UCFIRST'|'IGNORE'|CODE
    locale => LOCALE
    max_level => $level
        Like "min_level".

    min_level => $level
        Restrict the messages which are passed through based on the $level, so after the reason got translated into a Log::Dispatch compatible LEVEL. The default will use Log::Report restrictions only.

    mode => 'NORMAL'|'VERBOSE'|'ASSERT'|'DEBUG'|0..3
    to_level => \@PAIRS
        See reasonToLevel().

  Accessors
Extends "Accessors" in Log::Report::Dispatcher.

$obj->backend()
    Returns the Log::Dispatch::Output object which is used for logging.

$obj->isDisabled()
    Inherited, see "Accessors" in Log::Report::Dispatcher

$obj->mode()
    Inherited, see "Accessors" in Log::Report::Dispatcher

$obj->name()
    Inherited, see "Accessors" in Log::Report::Dispatcher

$obj->needs( [$reason] )
    Inherited, see "Accessors" in Log::Report::Dispatcher

$obj->type()
    Inherited, see "Accessors" in Log::Report::Dispatcher

  Logging
Extends "Logging" in Log::Report::Dispatcher.

$any->addSkipStack(@CODE)
    Inherited, see "Logging" in Log::Report::Dispatcher

$obj->close()
    Inherited, see "Logging" in Log::Report::Dispatcher

$any->collectLocation()
    Inherited, see "Logging" in Log::Report::Dispatcher

$any->collectStack( [$maxdepth] )
    Inherited, see "Logging" in Log::Report::Dispatcher

$obj->log(\%options, $reason, $message, $domain)
    Inherited, see "Logging" in Log::Report::Dispatcher

$obj->reasonToLevel($reason)
    Returns a level which is understood by Log::Dispatch, based on a translation table. This can be changed with new(to_level).

$obj->skipStack()
    Inherited, see "Logging" in Log::Report::Dispatcher

$any->stackTraceLine(%options)
    Inherited, see "Logging" in Log::Report::Dispatcher

$obj->translate(\%options, $reason, $message)
    Inherited, see "Logging" in Log::Report::Dispatcher

DETAILS
Extends "DETAILS" in Log::Report::Dispatcher.

DIAGNOSTICS

Error: Log::Dispatch level '$level' not understood
    Cast by new()

SEE ALSO
This module is part of Log-Report version 1.44, built on December 22, 2025. Website: http://perl.overmeer.net/CPAN/

LICENSE
For contributors see file ChangeLog.

This software is copyright (c) 2007-2025 by Mark Overmeer.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.