The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Haineko::Log - Syslog interface

DESCRIPTION

Write log messages via UNIX syslog

SYNOPSIS

    use Haineko::Log;
    my $v = { 
        'remoteaddr' => '127.0.0.1', 
        'remoteport' => 1024, 
    };
    my $e = Haineko::Log->new( %$v );
    my $x = { 'message' => 'Log message' };
    $e->w( 'info', $x );
    # Jul  4 10:00:00 host haineko[6994]: client=127.0.0.1:1024, message='Log message'

    $x = { 'message' => 'Rejected', 'dsn' => '5.2.1', 'code' => 550 };
    $e->w( 'err', $x );
    # Jul  4 10:00:00 host haineko[6994]: client=127.0.0.1:1024, message='Rejected', dsn=5.2.1, code=550

    $v = { 'remoteaddr' => '192.0.1.2', 'queueid' => 'r67HY3E06994bogA' };
    $e = Haineko::Log->new( %$v );
    $x = { 'message' => [ 'Log1', 'Log2' ] 'neko' => 'Nyaa' };
    $e->w( 'err', $x );
    # Jul  4 10:00:00 host haineko[6994]: queueid=r67HY3E06994bogA, client=192.0.2.1, message='Log1 | Log2', neko=Nyaa

CLASS METHODS

new( %arguments )

new() is a constructor of Haineko::Log

    my $e = Haineko::Log->new(
            'queueid' => 'ID string',   # Haineko::SMTPD::Session->queueid
            'useragent' => 'Agent name',    # $self->req->header->user_agent
            'remoteaddr' => '127.0.0.1',    # REMOTE_HOST http environment variable
            'remoteport' => 1024,       # REMOTE_PORT http environment variable
    );

INSTANCE METHODS

w( log-level, argument)

w() write log messages via UNIX syslog

    my $e = Haineko:::Log->new( %argvs );
    my $m = { 'message' => 'error', 'cat' => 'kijitora' };
    $e->w( 'err', $m );

REPOSITORY

https://github.com/azumakuniyuki/Haineko

AUTHOR

azumakuniyuki <perl.org [at] azumakuniyuki.org>

LICENSE

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