Вопрос

У меня огромный слух, который использует log4j, и для его настройки используется один файл конфигурации.В этом файле конфигурации не упоминаются определенные файлы журналов, но в папке журналов генерируются дополнительные файлы, помимо тех, которые указаны в файле конфигурации.Я искал другие комбинации (logger|log4j|log).(properties|xml) и не нашел ничего многообещающего во всех jar-файлах, включенных в ухо.Как мне определить, какой поток/класс-нарушитель создает эти дополнительные файлы?

Это было полезно?

Решение

Попробуйте разместить точку останова в конструкторах класса File и в методах mkdir и createNewFile.Обычно код использует класс File для создания файлов или каталогов.У вас должен быть исходный код Java для этих классов, включенный в вашу JVM.

Другие советы

Добавлять -Dlog4j.debug в командную строку, и в стандартном выводе будет дополнительная информация о том, как она настроена.

Формально SysInternal, теперь Microsoft Process Explorerhttp://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

Пункт меню «Найти» -> «Найти дескриптор или DLL...»

SysInternals может не помочь с вводом-выводом класса Java.Попробуйте получить дамп потока JVM (например, kill -3) во время записи этих журналов.Вы сможете поймать поток с поличным с помощью пакетов java.io в верхней части трассировки стека.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top