Как настроить ведение журнала для сборки maven? Журнал, который генерирует maven, не предоставляет достаточную информацию, такую как отметка времени, с каждой операцией журнала. Где/какой файл конфигурации log log используется?Конфигурация файла журнала 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 является хорошим руководством. Тем не менее, $ (дата) оценивается только один раз в начале, а затем остается неизменным. я должен был использовать подход, упомянутый в Is there a Unix utility to prepend timestamps to 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" значение свойства "истинного"
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
Но `-l` это не конфигурация каротаж "файл, где все строить выход будет идти войти". – lexicore 2016-11-29 07:15:57