Domanda

Ho un orecchio enorme che utilizza log4j e c'è un singolo file di configurazione che viene utilizzato per configurarlo.In questo file di configurazione non vengono menzionati alcuni file di registro ma nella cartella logs vengono generati file aggiuntivi oltre a quelli specificati nel file di configurazione.Ho cercato altre combinazioni di (logger|log4j|log).(properties|xml) e non ho trovato nulla di promettente in tutti i file jar inclusi in ear.Come posso rintracciare qual è il thread/classe incriminata che sta creando questi file aggiuntivi?

È stato utile?

Soluzione

Prova a inserire un punto di interruzione nei costruttori della classe File e nei metodi mkdir e createNewFile.In genere, il codice utilizzerà la classe File per creare i propri file o directory.Dovresti avere il codice sorgente Java per queste classi incluso nella tua JVM.

Altri suggerimenti

Aggiungere -Dlog4j.debug alla riga di comando e ci saranno informazioni aggiuntive nell'output standard su come è configurato.

Formalmente SysInternal, ora Process Explorer di Microsofthttp://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

Voce di menu "Trova" -> "Trova Handle o DLL..."

SysInternals potrebbe non essere d'aiuto con l'IO della classe Java.Prova a ottenere un dump del thread della JVM (ad esempio, kill -3) mentre vengono scritti questi log.Dovresti essere in grado di catturare un thread in flagrante con i pacchetti java.io vicino alla parte superiore dell'analisi dello stack.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top