Question

J'ai une énorme oreille qui utilise log4j et un seul fichier de configuration est utilisé pour le configurer. Dans ce fichier de configuration, il n'est pas fait mention de certains fichiers journaux, mais des fichiers supplémentaires autres que ceux spécifiés dans le fichier de configuration sont générés dans le dossier des journaux. J'ai recherché d'autres combinaisons de (logger | log4j | log). (Propriétés | xml) et je n'ai rien trouvé de prometteur dans tous les fichiers jar inclus dans l'oreille. Comment puis-je localiser le thread / la classe incriminé qui crée ces fichiers supplémentaires?

Était-ce utile?

La solution

Essayez de placer un point d'arrêt dans les constructeurs de la classe File et les méthodes mkdir et createNewFile. Généralement, le code utilisera la classe File pour créer ses fichiers ou répertoires. Le code source Java de ces classes doit être inclus avec votre machine virtuelle.

Autres conseils

Ajoutez -Dlog4j.debug à la ligne de commande pour ajouter des informations supplémentaires à la sortie standard sur la configuration de celle-ci.

Anciennement SysInternal, maintenant l'Explorateur de processus de Microsoft http://technet.microsoft.com/en-us/sysinternals/bb896653. aspx

" Rechercher " élément de menu - > "Rechercher une poignée ou une DLL ..."

Il est possible que SysInternals n’aide pas les IO de classe Java. Essayez d’obtenir un vidage de thread de la machine virtuelle Java (par exemple, kill -3) pendant l’écriture de ces journaux. Vous devriez pouvoir attraper un fil rouge avec les paquets java.io près du sommet de la trace de la pile.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top