Maven logning muligheder

1. Oversigt

I denne hurtige vejledning skal vi se, hvordan du konfigurerer logningsmuligheder i Maven.

2. Kommandolinje

Som standard logger Maven kun på info, advarsel, og fejl logfiler. Også for fejl viser den ikke den fulde stacktrace for den log. For at se det fulde stacktrace kan vi bruge -e eller –Fejl mulighed:

$ mvn -e ren kompilering // trunkeret kan ikke finde symbol symbol: variabel navn placering: klasse Kompileret på org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:213) på org.apache.maven.lifecycle. intern.MojoExecutor.execute (MojoExecutor.java:154) på ​​org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:146) ...

Som vist ovenfor viser Maven nu den fulde fejlrapport. Det er også muligt at se fejlfindingslogfiler via -X eller -fejlfinde mulighed:

$ mvn -X ren kompilering // trunkeret OS-navn: "mac os x", version: "10.15.5", arch: "x86_64", familie: "mac" [DEBUG] Oprettet ny klasse realm maven.api [DEBUG] Import af udenlandske pakker til klasse realm maven.api ...

Når fejlretningen er slået til, er output meget detaljeret. For at bekæmpe dette kan vi bede Maven om ikke at logge noget forventer fejl via -q eller -rolige mulighed:

$ mvn - stille ren kompilering

Desuden kan vi omdirigere Maven-loggen til en fil ved hjælp af -l eller -logfil mulighed:

$ mvn --log-fil ./mvn.log ren kompilering

I stedet for standardoutput kan alle logfiler findes i mvn.log fil i det aktuelle bibliotek. Som et alternativ er det også muligt at bruge OS-funktioner til at omdirigere Maven-output til en fil:

$ mvn ren kompilering> ./mvn.log

3. SLF4J-indstillinger

I øjeblikket bruger Maven SLF4J API til logning kombineret med SLF4J Simple implementering. Derfor, for at konfigurere logning med SLF4J Simple, kan vi redigere egenskaberne i $ {maven.home} /conf/logging/simplelogger.properties fil. F

eller eksempel, hvis vi tilføjer følgende linjer i denne fil:

org.slf4j.simpleLogger.showDateTime = sand org.slf4j.simpleLogger.dateTimeFormat = åååå-MM-dd HH: mm: ss

derefter viser Maven datoen og klokkeslættet i ovenstående format.

Lad os prøve en anden build:

$ mvn clean compile 2020-07-08 12:08:07 [INFO] Scanning efter projekter ...

Vi kan også videregive disse egenskaber via -D argumenter fra kommandolinjen:

$ mvn kompilere -Dorg.slf4j.simpleLogger.showThreadName = true [main] [INFO] Scanning efter projekter ...

Her viser vi trådnavnet ud over andre oplysninger.

Ud over de nævnte egenskaber kan vi også konfigurere den enkle logger med andre egenskaber:

  • org.slf4j.simpleLogger.logFile bruger en logfil til logning i stedet for standardoutput
  • org.slf4j.simpleLogger.defaultLogLevel repræsenterer standardlogniveauet. Det kan være en af spor, fejlfinde, info, advare, fejl, eller af - standardværdien er info
  • org.slf4j.simpleLogger.showLogName viser SLF4j-loggernavnet, hvis det er rigtigt
  • org.slf4j.simpleLogger.showShortLogName trunkerer de lange loggernavne, hvis det er rigtigt

4. Konklusion

I denne korte vejledning så vi, hvordan man konfigurerer forskellige muligheder for logning og detaljerethed i Maven.


$config[zx-auto] not found$config[zx-overlay] not found