setup your logging as normal, before the first log message hijack the modules time_to_rotate function. log the first message, replace the original function.
this has (at least) one bug: the first time it will create
logfile then rotate it to logfile.1 then create a new logfile. otherwise it should work (assuming i put back the original function correctly).
my $l = get_logger( 'base' );
*old = \&Log::Dispatch::FileRotate::time_to_rotate;
*Log::Dispatch::FileRotate::time_to_rotate = sub { return wantarray ?
+( 1, 1 ) : 1 };
$l->info('starting up and forcing rotation');
*Log::Dispatch::FileRotate::time_to_rotate = \&old;
$l->info('more logging as usual');
|