Я использую автономный сервер Jenkins, запущенный из файла WAR. Jenkins рекламирует себя как использующую фреймворк java.util.logging для ведения журнала. Запускаю следующим образом:
java -Djava.util.logging.config.file=mycustomlogging.properties -jar jenkins.war > jenkins.log
mycustomlogging.properties содержит следующее:
handlers=java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level=WARNING
java.util.logging.ConsoleHandler.formatter=java.util.logging.SimpleFormatter
Я ожидал, что все журналы попадут в jenkins.log и будут регистрироваться только сообщения ПРЕДУПРЕЖДЕНИЯ и выше.
Содержимое jenkins.log соответствует ожидаемому, но я также вижу созданный файл ~/java0.log, который содержит операторы журнала в формате XML в INFO и выше.
Почему создается java0.log, когда я указываю только ConsoleHandler (а не FileHandler) в mycustomlogging.properties?
Является ли мой файл свойств «объединенным» с системным файлом по умолчанию, который (предположительно) настраивает запись FileHandler в ~/java0.log? Я ожидал, что указание пользовательского файла свойств полностью переопределит поведение системы по умолчанию.
Или, вероятно, код сервера написан таким образом, что он игнорирует системные свойства и просто регистрируется в ~/java0.log «несмотря ни на что»?
Если это имеет значение, я использую OS X 10.10, используя Java 7.