Frage

Ich habe ein riesiges Ohr, das log4j verwendet und es gibt eine einzige Konfigurationsdatei, die verwendet wird, um es einzurichten. In dieser Konfigurationsdatei gibt es keine Erwähnung bestimmter Protokolldateien aber, weitere Dateien abgesehen von den in der Konfigurationsdatei angegeben im Protokollordner generiert erhalten. (| Log4j | log Logger). Ich habe für andere Kombinationen von gesucht (Eigenschaften | xml) und haben nichts viel versprechend in all dem Glas gefundenen Dateien im Ohr enthalten. Wie erfasse ich fest, welche die betreffenden Faden / Klasse, die diese zusätzliche Dateien erstellen?

War es hilfreich?

Lösung

Versuchen Sie einen Haltepunkt in der File-Klasse Konstrukteurs und der mkdir und CreateNewFile Methoden platzieren. Im Allgemeinen wird Code, um die File-Klasse verwenden, um seine Dateien oder Verzeichnisse zu erstellen. Sie sollten den Java-Quellcode für diese Klassen mit Ihrer JVM enthalten haben.

Andere Tipps

-Dlog4j.debug zur Kommandozeile hinzufügen und es wird zusätzliche Informationen werden in der Standardausgabe darüber, wie er konfiguriert ist.

Formal SysInternals, jetzt von Microsoft Process Explorer http://technet.microsoft.com/en-us/sysinternals/bb896653. aspx

"Suchen" Menüpunkt -> "Find Handle oder DLL ..."

SysInternals kann nicht mit Java-Klasse IO helfen. Versuchen Sie, ein Thread-Dump der JVM erhalten (zum Beispiel töten -3), während diese Protokolle geschrieben werden. Sie sollten mit java.io Paketen in der Nähe der Spitze der Stack-Trace reichte einen Thread rot fangen können.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top