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.

In reply to File Rotation issue with Log::Dispatch::FileRotate by chanakya

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.