my $log = ...; ... # Define a file appender when you need it my $file_appender = Log::Log4perl::Appender->new( "Log::Log4perl::Appender::File", name => "filelog", filename => "/tmp/my.log") $file_appender->log(message => "Log me\n"); $file_appender->file_switch('/tmp/mynew.log'); $log->add_appender($file_appender); $log->log($TRACE, "...");