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.