2010-11-25 1 views
12

Как настроить ведение журнала для сборки maven? Журнал, который генерирует maven, не предоставляет достаточную информацию, такую ​​как отметка времени, с каждой операцией журнала. Где/какой файл конфигурации log log используется?Конфигурация файла журнала maven

ответ

2

Это все еще кажется, что некоторые закрыты вопрос в Maven, как вы можете видеть на:

https://issues.apache.org/jira/browse/MNG-519

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

8

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

Кроме того, вы всегда можете подключить вывод maven к какой-либо другой утилите (при условии, что ваша среда оболочки содержит половинные компетентные инструменты). Например, mvn -X clean | awk '{print "("d")"$0}' "d=$(date)" печатает дату перед каждой строкой в ​​maven. Я не стал форматировать дату, но это легко сделать с аргументами для исполняемого файла date. Обратите внимание, что это не будет работать для команд maven, которые требуют интерактивного ввода пользователем, например maven archetype:generate.

5

Ответа на этот вопрос @whaley является хорошим руководством. Тем не менее, $ (дата) оценивается только один раз в начале, а затем остается неизменным. я должен был использовать подход, упомянутый в Is there a Unix utility to prepend timestamps to stdin?:

mvn -X <goals> | awk '{ print strftime("%Y-%m-%d %H:%M:%S"), $0; }' 
2

Maven в версии 3.1 и 3.2 позволяют упростить конфигурацию регистратора на основе SLF4J. Вы можете указать «-l logfile» в командной строке, а конфигурация SimpleLogger по умолчанию находится в файле конфигурации conf/logging/simplelogger.properties.

Если вы хотите включить timestampts по умолчанию (миллисекунды с момента запуска), вы можете просто изменить свойство в этом файле: org.slf4j.simpleLogger.showDateTime=true.

+0

Но `-l` это не конфигурация каротаж "файл, где все строить выход будет идти войти". – lexicore 2016-11-29 07:15:57

1

Как было предложено @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