|
From: Mike S. <m...@pe...> - 2010-01-26 17:54:43
|
On Fri, 22 Jan 2010, Rob Retter wrote:
> I sent this message a little while ago
Sorry for the delay, thanks for your patience.
> In DateFormat.pm, the routine fmt() should not bother to recreate the
This is a neat idea, we just need to change that the mere presence of
the Time::HiRes module introduces milliseconds and hence kills the
optimization.
More to come soon ...
-- Mike
Mike Schilli
m...@pe...
> time string over and over and over....You tend to see the same
> timestamp on numerous consecutive log entries (unless you're using
> milliseconds, which seems like overkill in many situations). Anyway,
> the code should be something like:
>
> {
> my $lastSecs = 0;
> my $lastMsecs = 0;
> my $lastFmt = '';
>
> ###########################################
> sub format {
> ###########################################
> my($self, $secs, $msecs) = @_;
>
> $msecs = 0 unless defined $msecs;
>
> return $lastFmt if ($lastSecs == $secs and
> $lastMsecs == $msecs);
>
> my @time;
>
> if($GMTIME) {
> @time = gmtime($secs);
> } else {
> @time = localtime($secs);
> }
>
> # add milliseconds
> push @time, $msecs;
>
> my @values = ();
>
> for(@{$self->{stack}}) {
> my($val, $code) = @$_;
> if($code) {
> push @values, $code->($time[$val]);
> } else {
> push @values, $time[$val];
> }
> }
>
> $lastSecs = $secs;
> $lastMsecs = $msecs;
> $lastFmt = sprintf($self->{fmt}, @values);
> return $lastFmt;
> }
>
> }
>
> ------------------------------------------------------------------------------
> The Planet: dedicated and managed hosting, cloud storage, colocation
> Stay online with enterprise data centers and the best network in the business
> Choose flexible plans and management services without long-term contracts
> Personal 24x7 support from experience hosting pros just a phone call away.
> http://p.sf.net/sfu/theplanet-com
> _______________________________________________
> log4perl-devel mailing list
> log...@li...
> https://lists.sourceforge.net/lists/listinfo/log4perl-devel
> |