---
name: "Log::Handler::Output::Forward"
section: "3pm"
platform: "linux"
package: "liblog-handler-perl"
version: "0.90-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Log::Handler::Output::Forward"
---

# Log::Handler::Output::Forward(3pm)

Forward messages to routines.

## NAME

Log::Handler::Output::Forward - Forward messages to routines.

## SYNOPSIS

```
    use Log::Handler::Output::Forward;
    my $forwarder = Log::Handler::Output::Forward->new(
        forward_to => sub { },
        arguments  => [ "foo" ],
    );
    $forwarder->log(message => $message);
```

## DESCRIPTION

This output module makes it possible to forward messages to sub routines.

## METHODS

### new()

Call `"new()"` to create a new Log::Handler::Output::Forward object.

The following options are possible:

- **forward\_to**

  This option excepts a code reference.

  Please note that the message is forwarded as a hash reference. If you change it then this would have an effect to all outputs.

- **arguments**

  With this option you can define arguments that will be passed to the sub routine.

  In the following example the arguments would be passed as a array to `"Class::method()"`.

  ```
      my $forwarder = Log::Handler::Output::Forward->new(
          forward_to => \&Class::method,
          arguments  => [ $self, "foo" ],
      );
  ```

  This would call intern:

  ```
      Class::method(@arguments, $message);
  ```

  If this option is not set then the message will be passed as first argument.

### log()

Call `"log()"` if you want to forward messages to the subroutines.

Example:

```
    $forwarder->log("this message will be forwarded to all sub routines");
```

### validate()

Validate a configuration.

### reload()

Reload with a new configuration.

### errstr()

This function returns the last error message.

## FORWARDED MESSAGE

Note that the message will be forwarded as a hash reference.

If you make changes to the reference it affects all other outputs.

The hash key `"message"` contains the message.

## PREREQUISITES

```
    Carp
    Params::Validate
```

## EXPORTS

No exports.

## REPORT BUGS

Please report all bugs to \<jschulz.cpan(at)bloonix.de\>.

If you send me a mail then add Log::Handler into the subject.

## AUTHOR

Jonny Schulz \<jschulz.cpan(at)bloonix.de\>.

## COPYRIGHT

Copyright (C) 2007-2009 by Jonny Schulz. All rights reserved.

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