NAME

Log::Log4perl::Appender::UnixDomainSocket - Log to a Unix Domain Socket

SYNOPSIS

use Log::Log4perl::Appender::Socket::UNIX;

my $appender = Log::Log4perl::Appender::Socket::UNIX->new(
	Socket => '/var/tmp/myprogram.sock'
);

$appender->log(message => "Log me\n");

DESCRIPTION

This is a simple appender for writing to a unix domain socket. It relies on Socket and only logs to an existing socket - ie. very useful to always log debug streams to the socket. Since the socket is non-blocking, it doesnt matter wheter the socket exists or not.

The appender just _tries_ to stream to a socket. The socket in questions is beeing created by the client who wants to listen, once created the messages are coming thru.

EXAMPLE

Write a client quickly using the Socket module:

use Socket;

my $s = "/var/tmp/myprogram.sock";

unlink($s) or die("Failed to unlin socket - check permissions.\n");

# be sure to set a correct umask so that the appender is allowed to stream to:
umask(000);

socket(my $socket, PF_UNIX, SOCK_DGRAM, 0);
bind($socket, sockaddr_un($s));

while (1) {
	while ($line = <$socket>) {
		print $line;
	}
}

COPYRIGHT AND LICENSE

Copyright 2012 by Jean Stebens <debian.helba@recursor.net>.

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