Loggingsalternativer for Maven

1. Oversikt

I denne raske opplæringen skal vi se hvordan du konfigurerer loggingsalternativer i Maven.

2. Kommandolinje

Som standard logger Maven bare info, advarsel, og feil tømmerstokker. Også, for feil, viser den ikke fullstendig stacktrace for den loggen. For å se hele stacktrace, kan vi bruke -e eller –Feil alternativ:

$ mvn -e ren kompilering // avkortet kan ikke finne symbol symbol: variabel navn plassering: klasse Kompilert 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 nå Maven full feilrapport. Det er også mulig å se feilsøkingsnivålogger via -X eller –Debug alternativ:

$ mvn -X ren kompilering // avkortet OS-navn: "mac os x", versjon: "10.15.5", arch: "x86_64", familie: "mac" [DEBUG] Opprettet ny klasse realm maven.api [DEBUG] Importerer utenlandske pakker til klasse realm maven.api ...

Når feilsøkingen er på, er utdataene veldig verbose. For å bekjempe dette kan vi be Maven om å ikke logge noe forventer feil via -q eller -stille alternativ:

$ mvn - stille ren kompilering

Videre kan vi omdirigere Maven-loggen til en fil ved hjelp av -l eller -loggfil alternativ:

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

I stedet for standard utdata finner du alle loggene i mvn.log filen i gjeldende katalog. Som et alternativ er det også mulig å bruke OS-funksjoner for å omdirigere Maven-utgangen til en fil:

$ mvn ren kompilering> ./mvn.log

3. SLF4J-innstillinger

Foreløpig bruker Maven SLF4J API for logging kombinert med SLF4J Simple implementering. Derfor, for å konfigurere logging med SLF4J Simple, kan vi redigere egenskapene i $ {maven.home} /conf/logging/simplelogger.properties fil. F

eller for eksempel, hvis vi legger til følgende linjer i denne filen:

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

da viser Maven datoen og klokkeslettet i ovennevnte format.

La oss prøve en annen versjon:

$ mvn clean compile 2020-07-08 12:08:07 [INFO] Skanner etter prosjekter ...

Vi kan også overføre disse egenskapene via -D argumenter fra kommandolinjen:

$ mvn kompilere -Dorg.slf4j.simpleLogger.showThreadName = true [main] [INFO] Skanner etter prosjekter ...

Her viser vi trådnavnet i tillegg til annen informasjon.

I tillegg til de nevnte egenskapene, kan vi også konfigurere den enkle loggeren med andre egenskaper:

  • org.slf4j.simpleLogger.logFile bruker en loggfil for logging i stedet for standard utdata
  • org.slf4j.simpleLogger.defaultLogLevel representerer standard loggnivå. Det kan være en av spor, feilsøke, info, varsle, feil, eller av - standardverdien er info
  • org.slf4j.simpleLogger.showLogName viser SLF4j-loggernavnet hvis det er ekte
  • org.slf4j.simpleLogger.showShortLogName avkorter de lange loggernavnene hvis det er ekte

4. Konklusjon

I denne korte opplæringen så vi hvordan du konfigurerer forskjellige logg- og detaljnivåalternativer i Maven.


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