Опции за регистриране на Maven

1. Общ преглед

В този бърз урок ще видим как да конфигурираме опциите за регистриране в Maven.

2. Команден ред

По подразбиране Maven регистрира само регистрационните файлове с информация, предупреждения и грешки . Също така, за грешки, той не показва пълната стека на този дневник. За да видите пълния stacktrace, можем да използваме или -errors вариант :

$ mvn -e clean compile // truncated cannot find symbol symbol: variable name location: class Compiled at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:213) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:154) at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146) ...

Както е показано по-горе, сега Maven показва пълния доклад за грешка. Възможно е също така да се види трупи ниво на грешки чрез -X или -debug вариант :

$ mvn -X clean compile // truncated OS name: "mac os x", version: "10.15.5", arch: "x86_64", family: "mac" [DEBUG] Created new class realm maven.api [DEBUG] Importing foreign packages into class realm maven.api ...

Когато отстраняването на грешки е включено, изходът е много подробен. За да се преборим с това, можем да помолим Maven да не регистрира нищо, което да очаква грешки чрез опцията -q или –quiet :

$ mvn --quiet clean compile

Освен това можем да пренасочим регистрационния файл на Maven към файл, като използваме опцията -l или –log-file :

$ mvn --log-file ./mvn.log clean compile

Вместо стандартен изход, всички регистрационни файлове могат да бъдат намерени във файла mvn.log в текущата директория. Като алтернатива е също така възможно да се използват функции на ОС за пренасочване на изхода на Maven към файл:

$ mvn clean compile > ./mvn.log

3. Настройки на SLF4J

Понастоящем Maven използва SLF4J API за регистриране, комбиниран с изпълнението на SLF4J Simple . Следователно, за да конфигурираме регистриране с SLF4J Simple, можем да редактираме свойствата във файла $ {maven.home} /conf/logging/simplelogger.properties . F

или екземпляр, ако добавим следните редове в този файл:

org.slf4j.simpleLogger.showDateTime=true org.slf4j.simpleLogger.dateTimeFormat=yyyy-MM-dd HH:mm:ss

тогава Maven ще покаже информацията за дата и час в горния формат.

Нека опитаме друга компилация:

$ mvn clean compile 2020-07-08 12:08:07 [INFO] Scanning for projects...

Също така можем да предадем тези свойства чрез -D аргументи от командния ред:

$ mvn compile -Dorg.slf4j.simpleLogger.showThreadName=true [main] [INFO] Scanning for projects...

Тук показваме името на нишката в допълнение към друга информация.

В допълнение към споменатите свойства, ние можем също да конфигурираме обикновения регистратор и с други свойства:

  • org.slf4j.simpleLogger.logFile използва регистрационен файл за регистриране вместо стандартен изход
  • org.slf4j.simpleLogger.defaultLogLevel представлява нивото на регистрационния файл по подразбиране. Това може да е едно от проследяване , отстраняване на грешки , информация , предупреждение , грешка или изключване - стойността по подразбиране е информация
  • org.slf4j.simpleLogger.showLogName показва името на регистратора SLF4j, ако е вярно
  • org.slf4j.simpleLogger.showShortLogName съкращава дългите имена на регистратора, ако е вярно

4. Заключение

В този кратък урок видяхме как да конфигурираме различни опции за регистриране и подробности в Maven.