Log4J verwenden in verschiedenen Threads mit verschiedenen Logfiles

takidoso

Erfahrenes Mitglied
Hallo und Halli,
Ich habe das Bedürfnis in einer Anwendung mit selbstgebautem PlugInmechanismus wahlweise als Betriebssystemaufruf oder als JavaKlasse innerhalb derselben JVM zu arbeiten.
Dabei werden diese "Gast-Anwendungen" in eigenen Threads geführt. Nun verwende ich herzlich gerne Log4J.
Habe ich aber eine Gast-Anwendung in der selben JVM, die parallel zu sich selbst laufen soll und außerdem pro Lauf eine eigene Log-Datei ausgeben soll, dürfte das ganze mitels der üblichen FileAppender durcheinander geraten.
Im Internet stieß ich lediglich auf die Hinweise dass genausowas zumindest mit den "handelsüblichen" File-Appendern wohl nicht geht.
Daher spiele ich mit dem Gedanken einen weiteren FileAppender zu basteln, bin mir aber über die Strategie noch nicht ganz im Reinen.

Wäre es erfolgsversprechend wenn man einen solchen Appender sowohl Thread als auch Dateinahme miteinander zu assoziieren (typischer weise in einer Map).
Ich denke für Gastanwendungen mit nur einem Thread würde das funktionieren. Aber was mache ich bei Gastanwendungen die selbsst mehr als einen Thread verwenden?

Hat da jemand eine Idee?

Mit um Ideen dankbaren Grüßen

Takidoso
 
Vielleicht würde es über die ThreadGroup gehen, da Threads die ThreadGroup vom erzeugenden Thread erben.. natürlich nur wenn diese nicht selbst angegeben wird. Eventuell kann man da mit einem SecurityManager noch was machen?
 
Zurück