---
name: "Log::Handler::Output::Socket"
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::Socket"
---

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

Send messages to a socket.

## NAME

Log::Handler::Output::Socket - Send messages to a socket.

## SYNOPSIS

```
    use Log::Handler::Output::Socket;
    my $sock = Log::Handler::Output::Socket->new(
        peeraddr    => "127.0.0.1",
        peerport    => 44444,
        proto       => "tcp",
        timeout     => 10
    );
    $sock->log(message => $message);
```

## DESCRIPTION

With this module it's possible to send messages over the network.

## METHODS

### new()

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

The following options are possible:

- **peeraddr**

  The address of the server.

- **peerport**

  The port to connect to.

- **proto**

  The protocol you wish to use. Default is TCP.

- **timeout**

  The timeout to send message. The default is 5 seconds.

- **persistent** and **reconnect**

  With this option you can enable or disable a persistent connection and re-connect if the connection was lost.

  Both options are set to 1 on default.

- **dump**

  Do you like to dump the message? If you enable this option then all messages will be dumped with `"Data::Dumper"`.

- **dumper**

  Do you want to use another dumper as `"Data::Dumper"`? You can do the following as example:

  ```
      use Convert::Bencode_XS;
          dumper => sub { Convert::Bencode_XS::bencode($_[0]) }
      # or maybe
      use JSON::PC;
          dumper => sub { JSON::PC::convert($_[0]) }
  ```

- **connect**

  This option is only useful if you want to pass your own arguments to `"IO::Socket::INET"` and don't want use `"peeraddr"` and `"peerhost"`.

  Example:

  ```
          connect => {
              PerrAddr  => "127.0.0.1",
              PeerPort  => 44444,
              LocalPort => 44445
          }
  ```

  This options are passed to `"IO::Socket::INET"`.

### log()

Call `"log()"` if you want to send a message over the socket.

Example:

```
    $sock->log("message");
```

### connect()

Connect to the socket.

### disconnect()

Disconnect from socket.

### validate()

Validate a configuration.

### reload()

Reload with a new configuration.

### errstr()

This function returns the last error message.

## PREREQUISITES

```
    Carp
    Params::Validate;
    IO::Socket::INET;
    Data::Dumper;
```

## 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.
