log4j, Threadsicherheit bei Einzellogs

takidoso

Erfahrenes Mitglied
Halli und Hallo,
irgendwie frage ich mich wie Folgendes bewerkstelligt werden kann....
Ich habe eine Pollinganwendung, die in Threadpools mittels Konfigurationen Dateiverarbeitende Programme anstoßen kann.
Ich möchte eine Anwendung, die log4-J verwendet und das Logfile pro Datei produzieren soll in mehreren Threads ablaufen lassen können.
Die Anwendung selbst funktioneirt prima und kann auch mittels eines eigenen Appenders den Eingangsdateinamen als Vorbild für den jeweiligen Log-Dateinamen nehmen.
Doch wenn man es parallel in verschiedenen Threads ablaufen lässt müsste sich meines Verständnisses nach Konfusion in den Logs breitmachen, oder?
der Logger wird wie üblich statisch in den jeweiligen Klassen geholt.
BSP
Java:
public class ConverterTool implements RunnableByProperties
{
	
       static Logger logger    = Logger.getLogger(ConverterTool.class);


...
     //und so wird sich die Loggerconfiguration geholt
     protected void setLoggerStuff(String inputFileName, String outPutFileName)
     {
	System.setProperty("inputfilename", new File(inputFileName).getName());
	System.setProperty("outputfilename", new File(outPutFileName).getName());
	
	Properties props        = SingletonManager.getProps();
	String     confFileName = props.getProperty(GlobalConstants.PN_LOG_CONFIG_FILENAME);
	if (confFileName==null)
	{
		confFileName = System.getProperty("APP_HOME",".")+File.separatorChar+
                           "log4"+GlobalConstants.APPLICATION_NAME+".xml";
			
		props.setProperty(GlobalConstants.PN_LOG_CONFIG_FILENAME, confFileName);
			System.out.println("schreibe Properties!");
		SingletonManager.getPropsFactory().writeProperties();
	}
		
	System.out.println("logger-config file="+confFileName);
	
	DOMConfigurator.configure(confFileName);
		
	logVersion();
     }

     init(.....)
     {
          setLoggerStuff(inputFileName, outputFileName);
          ......
     }
..... 
}

Irgendwie frage ich mich wie man es eigetnlich hinbekommen kann, dass die Informationen über die zur gleichen Zeit verwendeten Log-Dateien, thread-separat gehalten werden können.

Hat jemand da ne gute Idee, iirgendwie blicke ich es gerade nicht so bezüglich guten kurzen und knackigen Ansatzes?

mit vielen dankbaren Grüßen für Vorschläge,

Takidoso
 
Zurück