Как настроить ведение журнала для сборки maven? Журнал, который генерирует maven, не предоставляет достаточную информацию, такую как отметка времени, с каждой операцией журнала. Где/какой файл конфигурации журнала используется maven?
Конфигурация файла журнала maven
Ответ 1
Это все еще кажется закрытой проблемой в Maven, как вы можете видеть на:
https://issues.apache.org/jira/browse/MNG-519
Предоставленный обходной путь выглядит не так уж плохо, но вам нужно изменить установку maven.
Ответ 2
Вы можете знать об этом, и он не будет печатать даты, но используйте mvn -X
для печати подробного вывода.
Кроме того, вы всегда можете подключить вывод maven к какой-либо другой утилите (при условии, что ваша среда оболочки содержит половину компетентных инструментов). Например, mvn -X clean | awk '{print "("d")"$0}' "d=$(date)"
выводит дату перед каждой строкой в maven. Я не стал форматировать дату, но это легко сделать с аргументами для исполняемого файла date
. Обратите внимание, что это не будет работать для команд maven, которые требуют интерактивного ввода пользователя, например maven archetype:generate
.
Ответ 3
Ответ, предоставленный @whaley, является хорошим направлением. Тем не менее, $(дата) оценивается только один раз в начале, а затем остается неизменным. Мне пришлось использовать подход, упомянутый в Есть ли утилита Unix для добавления временных меток к stdin?:
mvn -X <goals> | awk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; }'
Ответ 4
Maven в версиях 3.1 и 3.2 позволяет упростить конфигурацию регистратора на основе SLF4J. Вы можете указать "-l logfile" в командной строке, а стандартная конфигурация SimpleLogger находится в файле конфигурации conf/logging/simplelogger.properties
.
Если вы хотите включить timestampts по умолчанию (миллисекунды с момента запуска), вы можете просто изменить свойство в этом файле: org.slf4j.simpleLogger.showDateTime=true
.
Ответ 5
Как было предложено @eckes, файл конфигурации регистрации по умолчанию доступен по адресу /conf/logging/simplelogger.properties, начиная с Maven 3.1.0 и далее.
Измените значение свойства "org.slf4j.simpleLogger.showDateTime" на "true"
org.slf4j.simpleLogger.showDateTime=true
Чтобы изменить dateTimeFormat, по умолчанию относительное время в миллисекундах.
Добавьте строку ниже в файл simplelogger.properties.
org.slf4j.simpleLogger.dateTimeFormat=HH:mm:ss:SSS
Ссылки:
Maven: https://maven.apache.org/maven-logging.html
DateFormats: http://docs.oracle.com/javase/1.5.0/docs/api/java/text/SimpleDateFormat.html