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.