The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.


Net::Syslog - Perl extension for sending syslog messages directly to a remote syslogd.


  use Net::Syslog;
  my $s=new Net::Syslog(Facility=>'local4',Priority=>'debug');
  $s->send('see this in syslog',Priority=>'info');


Net::Syslog implements the intra-host syslog forwarding protocol. It is not intended to replace the Sys::Syslog or Unix::Syslog modules, but instead to provide a method of using syslog when a local syslogd is unavailable or when you don't want to write syslog messages to the local syslog.

The new call sets up default values, any of which can be overridden in the send call. Keys (listed with default values) are:

        Name            <calling script name>
        Facility        local5
        Priority        error
        Pid             $$
        SyslogPort      514

Valid Facilities are: kernel, user, mail, system, security, internal, printer, news, uucp, clock, security2, FTP, NTP, audit, alert, clock2, local0, local1, local2, local3, local4, local5, local6, local7

Valid Priorities are: emergency, alert, critical, error, warning, notice, informational, debug

Set Pid to any non numeric value to disable in the output.

Use: rfc3164 => 1 to enable RFC 3164 messages including timestamp and hostname.


Les Howard,


syslog(3), Sys::Syslog(3), syslogd(8), Unix::Syslog(3), IO::Socket, perl(1)