Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw
 
PerlMonks  

File Rotation issue with Log::Dispatch::FileRotate

by chanakya (Friar)
on Nov 16, 2009 at 09:30 UTC ( [id://807394]=perlquestion: print w/replies, xml ) Need Help??

chanakya has asked for the wisdom of the Perl Monks concerning the following question:

I've been using Log::Dispatch in one of the projects for logging. I wanted to add logrotation , so that the
application itself does the logrotation so I used Log::Dispatch::FileRotate to achieve the same.

Here is my setup :
* A perl scripts which executes in daemon mode.

Here is what I want to achieve:
* As the system date changes, the application should create a new log file based on the system date.

Currently my application is rotating file, but the date on the filename is not modified.

The application creates log file as app.YYYYMMDD.log . For example if I start the daemon script on 20091113 the log file is created as app.20091113.log, the issue is even after the system date changes, the date remains the same as 20091113 and doesn't change to 20091114.

Below is my present code. Please point me to the right direction on how to achieve the date based file rotation
#!/usr/bin/perl use strict; use warnings; use Log::Dispatch; use Log::Dispatch::FileRotate; use Date::Format; my @loc = localtime(); my $current_date = Date::Format::strftime("%Y%m%d", @loc); my $logfile = "app.".$current_date.".log"; our $HOSTNAME = `hostname`; chomp $HOSTNAME; my $log = new Log::Dispatch( callbacks => sub { my %h=@_; return $HOSTNAME." $0 \[$$]: ".$h{m +essage}."\n"; } ); $log->add( Log::Dispatch::FileRotate->new( name => 'file1', min_level => 'info', mode => 'append', filename => File::Spec->catfile( +$log_dir, $logfile), DatePattern => 'yyyy-mm-dd', ) ); $log->info("Starting Processing: ".localtime());
Thank you for your time.

Replies are listed 'Best First'.
Re: File Rotation issue with Log::Dispatch::FileRotate
by happy.barney (Friar) on Nov 16, 2009 at 11:32 UTC

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://807394]
Approved by Corion
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others about the Monastery: (3)
As of 2024-04-25 19:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found