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

NAME

Log::Stamper - generate the formatted stamp for logging

SYNOPSIS

    use Log::Stamper;

    my $stamp = Log::Stamper->new("yyyy-MM-dd");

    # Simple time, resolution in seconds
    my $time = time();
    print $stamp->format($time); # 2013-01-13

    # if you use milliseconds
    use Time::HiRes;
    my $stamp = Log::Stamper->new("HH:mm:ss,SSS");
    my ($secs, $msecs) = Time::HiRes::gettimeofday();
    print $stamp->format($secs, $msecs); # => "17:02:39,959"

Typically, you would initialize the stamper once and then reuse it over and over again to display all kinds of time values.

DESCRIPTION

Log::Stamper is a formatter which allows dates to be formatted according to the log4j spec on

    http://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html

which allows the following placeholders to be recognized and processed:

    Symbol Meaning              Presentation    Example
    ------ -------              ------------    -------
    G      era designator       (Text)          AD
    e      epoch seconds        (Number)        1315011604
    y      year                 (Number)        1996
    M      month in year        (Text & Number) July & 07
    d      day in month         (Number)        10
    h      hour in am/pm (1~12) (Number)        12
    H      hour in day (0~23)   (Number)        0
    m      minute in hour       (Number)        30
    s      second in minute     (Number)        55
    S      millisecond          (Number)        978
    E      day in week          (Text)          Tuesday
    D      day in year          (Number)        189
    F      day of week in month (Number)        2 (2nd Wed in July)
    w      week in year         (Number)        27
    W      week in month        (Number)        2
    a      am/pm marker         (Text)          PM
    k      hour in day (1~24)   (Number)        24
    K      hour in am/pm (0~11) (Number)        0
    z      time zone            (Text)          Pacific Standard Time
    Z      RFC 822 time zone    (Text)          -0800
    '      escape for text      (Delimiter)
    ''     single quote         (Literal)       '

METHODS

new

constractor

format

return the formatted string

callback

return the code reference for filtering.

    use Log::Stamper;
    my $stamper = Log::Stamper->new(
        "yyyy",
        sub {
            my $str = shift;
            $str =~ s/0/X/g;
            return $str;
        }
    );
    print $stamper->format(time()); # 2X13

REPOSITORY

Log::Stamper is hosted on github <http://github.com/bayashi/Log-Stamper>

AUTHOR

This module was copied from Log::Log4perl::DateFormat to go independent.

Dai Okabayashi <bayashi@cpan.org>

SEE ALSO

Log::Log4perl::DateFormat

LICENSE

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