Chris Grau > Carp-Syslog-0.01 > Carp::Syslog

Download:
Carp-Syslog-0.01.tar.gz

Dependencies

Annotate this POD

Website

View/Report Bugs
Module Version: 0.01   Source  

NAME ^

Carp::Syslog - Send warn and die messages to syslog

SYNOPSIS ^

    # Defaults shown.
    use Carp::Syslog { ident => $0, logopt => '', facility => 'user' };

    warn '...';    # logs to user:warning

    die '...';     # logs to user:err

    # Shortcut for simplicity.
    use Carp::Syslog 'user';

    {
        no Carp::Syslog;

        warn '...';    # doesn't log to syslog
        die '...';     # ditto
    }

    # Also useful on the command line.
    perl -MCarp::Syslog=user script.pl

DESCRIPTION ^

I got tired of writing this all the time:

    use Sys::Syslog;
    use File::Basename qw( basename );

    BEGIN {
        openlog( basename($0), 'pid', 'local1' );
        $SIG{'__WARN__'} = sub { syslog( 'warning', @_ ); warn @_ };
        $SIG{'__DIE__'}  = sub { syslog( 'err', @_ ); die @_ };
    }
    END { closelog() }

Sure, there are modules like Log::Log4perl and Log::Dispatch, but those are overly complicated for quick, system administrator style scripts. The Carp::Syslog module allows, in one line (or less if used on the command line), to send all warn() and die() calls to the system's syslog.

CAVEATS ^

The __WARN__ and __DIE__ signal handlers are overridden.

Calling cluck() or confess() will really fill up your logs.

AUTHOR ^

Chris Grau mailto:cgrau@cpan.org

COPYRIGHT AND LICENSE ^

Copyright (c) 2011-2012, Chris Grau.

SEE ALSO ^

Sys::Syslog

syntax highlighting: