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.