title: Log4Perl: How do I change the logger file used from running code? (After a fork)
body: <p>I have an ETL process set up in perl to process a number of files, and load them to a database. </p>
  
  <p>Recently, for performance reasons I set up the code to be multi-threaded, through use of a fork() call and a call to system("perl someOtherPerlProcess.pl $arg1 $arg2"). </p>
  
  <p>I end up with about 12 instances of someOtherPerlProcess.pl running with different arguments, and these processes each work through one directories worth of files (corresponding to a single table in our database). </p>
  
  <p>The applications main functions work, but I am having issues with figuring out how to configure my logging. </p>
  
  <p>Ideally, I would like to have all the someOtherPerlProcess.pl share the same $log_config value to initialize their loggers, but have each of those create a log file in the directory they are working on. </p>
  
  <p>I haven't been able to figure out how to do that. I also noticed that in the directory I am calling these perl scripts from I see several files (ARRAY(0x260eec), ARRAY(0x313f8), etc) that contain all my logging messages! </p>
  
  <p>Is there a simple way to change the log4perl.appender.A1.filename value from running code?
  Or to otherwise dynamically configure the file name we use, but use all other values from a config file?</p>