use Your::Module( $log_file );
####
use Your::Module;
Your::Module->set_log_file( $log_file );
####
package Your::Module;
# ...
sub set_log_file {
my( $we, $log_file ) = @_;
Log::Log4perl->init( \"... $log_file ..." );
}
####
package main;
use strict;
use Log::Log4perl;
use Your::Module;
our $log_file = ...;
Log::Log4perl->init( ... );
####
package Your::Module;
Log::Log4perl->init( \qq< ... $main::log_file ... > );
####
package main;
use strict;
use Log::Log4perl;
our $log_file = ...;
Log::Log4perl->init( ... );
use Your::Module; # Must happen after $log_file is set. DON'T MOVE UP!