Java создает файл журнала java0.log и файл блокировки в папке /root

Я работаю над большим проектом. Java создает очень большой файл журнала java0.log и файл блокировки в папке /root со следующим содержанием:

<record>
  <date>2015-12-15T00:15:42</date>
  <millis>1450118742727</millis>
  <sequence>22</sequence>
  <logger>javax.xml.bind</logger>
  <level>FINE</level>
  <class>javax.xml.bind.ContextFinder</class>
  <method>lookupJaxbContextUsingOsgiServiceLoader</method>
  <thread>1</thread>
  <message>Unable to find from OSGi: javax.xml.bind.JAXBContext</message>
</record>
<record>
  <date>2015-12-15T00:15:42</date>
  <millis>1450118742727</millis>
  <sequence>23</sequence>
  <logger>javax.xml.bind</logger>
  <level>FINE</level>
  <class>javax.xml.bind.ContextFinder</class>
  <method>find</method>
  <thread>1</thread>
  <message>Searching META-INF/services</message>
</record>
<record>
  <date>2015-12-15T00:15:42</date>
  <millis>1450118742727</millis>
  <sequence>22</sequence>
  <logger>javax.xml.bind</logger>
  <level>FINE</level>
  <class>javax.xml.bind.ContextFinder</class>
  <method>lookupJaxbContextUsingOsgiServiceLoader</method>
  <thread>1</thread>
  <message>Unable to find from OSGi: javax.xml.bind.JAXBContext</message>
</record>
<record>
  <date>2015-12-15T00:15:42</date>
  <millis>1450118742727</millis>
  <sequence>23</sequence>
  <logger>javax.xml.bind</logger>
  <level>FINE</level>
  <class>javax.xml.bind.ContextFinder</class>
  <method>find</method>
  <thread>1</thread>
  <message>Searching META-INF/services</message>
</record>

Я попытался установить уровень журнала в разных файлах logging.properties, но эти журналы все равно появляются. Любая идея, как отключить это ведение журнала?


person Hemant    schedule 20.01.2016    source источник
comment
Первый вопрос должен заключаться в том, почему во имя всего хорошего вы запускаете Java как root?   -  person Joni    schedule 20.01.2016
comment
Это устаревший код :)   -  person Hemant    schedule 20.01.2016
comment
Сам код устанавливает этот FileHandler? Вы можете попробовать вызвать LogManager.reset().   -  person jmehrens    schedule 20.01.2016
comment
@jmehrens, добавив LogManager.reset(), решил мою проблему. Спасибо   -  person Hemant    schedule 28.06.2016


Ответы (1)


Вы можете использовать java.util. logging.LogManager.reset(), чтобы перезагрузить конфигурацию системы по умолчанию. Если устаревший код программно устанавливает обработчик, то вызов LogManager.reset() удалит и закроет обработчик. Поскольку существующий обработчик не определен в logging.properties, он не будет воссоздан.

В качестве альтернативы вы можете использовать LogManager для перечислите все регистраторы и попытайтесь найти обработчик, удалить и закрыть его.

person jmehrens    schedule 28.06.2016