Ответ 1
Это все еще кажется закрытой проблемой в Maven, как вы можете видеть на:
https://issues.apache.org/jira/browse/MNG-519
Предоставленный обходной путь выглядит не так уж плохо, но вам нужно изменить установку maven.
Как настроить ведение журнала для сборки maven? Журнал, который генерирует maven, не предоставляет достаточную информацию, такую как отметка времени, с каждой операцией журнала. Где/какой файл конфигурации журнала используется maven?
Это все еще кажется закрытой проблемой в Maven, как вы можете видеть на:
https://issues.apache.org/jira/browse/MNG-519
Предоставленный обходной путь выглядит не так уж плохо, но вам нужно изменить установку maven.
Вы можете знать об этом, и он не будет печатать даты, но используйте mvn -X
для печати подробного вывода.
Кроме того, вы всегда можете подключить вывод maven к какой-либо другой утилите (при условии, что ваша среда оболочки содержит половину компетентных инструментов). Например, mvn -X clean | awk '{print "("d")"$0}' "d=$(date)"
выводит дату перед каждой строкой в maven. Я не стал форматировать дату, но это легко сделать с аргументами для исполняемого файла date
. Обратите внимание, что это не будет работать для команд maven, которые требуют интерактивного ввода пользователя, например maven archetype:generate
.
Ответ, предоставленный @whaley, является хорошим направлением. Тем не менее, $(дата) оценивается только один раз в начале, а затем остается неизменным. Мне пришлось использовать подход, упомянутый в Есть ли утилита Unix для добавления временных меток к stdin?:
mvn -X <goals> | awk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; }'
Maven в версиях 3.1 и 3.2 позволяет упростить конфигурацию регистратора на основе SLF4J. Вы можете указать "-l logfile" в командной строке, а стандартная конфигурация SimpleLogger находится в файле конфигурации conf/logging/simplelogger.properties
.
Если вы хотите включить timestampts по умолчанию (миллисекунды с момента запуска), вы можете просто изменить свойство в этом файле: org.slf4j.simpleLogger.showDateTime=true
.
Как было предложено @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