Log::Log4perl::Appender::Socket::UNIX- Log to a Unix Domain Socket
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");
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.
The appender 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.
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 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.
To install Log::Log4perl::Appender::Socket::UNIX, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Log::Log4perl::Appender::Socket::UNIX
CPAN shell
perl -MCPAN -e shell install Log::Log4perl::Appender::Socket::UNIX
For more information on module installation, please visit the detailed CPAN module installation guide.