Sådan deaktiveres konsollogning i Spring Boot

1. Oversigt

Normalt giver konsollogfiler os muligheden for at fejle vores system på en nem og intuitiv måde. Ikke desto mindre er der lejligheder, hvor vi ikke vil aktivere denne funktion i vores system.

I denne hurtige vejledning vi får se, hvordan vi undgår at logge på konsollen, når du kører en Spring Boot-applikation.

Vi holder det enkelt med lige-til-punkt-eksempler, der viser, hvordan vi opnår dette, uanset om vi bruger Logback, Log4js2 eller endda Java Util Logging-rammen.

For at lære mere om logningsrammer til Spring Boot, foreslår vi at se på vores Logging in Spring Boot-vejledning.

2. Sådan deaktiveres konsoloutput til logback

Hvis vores projekt bruger Spring Boot startere, så er spring-boot-starter-logging afhængighed vil også blive inkluderet.

Denne særlige starter konfigurerer Logback som standardramme og logger oprindeligt kun på konsollen som standard.

Denne konfiguration kan væretilpasset ved at tilføje en logback-spring.xml fil til vores ressourcer.

Lad os f.eks. Konfigurere XML for at deaktivere konsoludgangen og kun logge på en fil:

Derudover har vi brug for logning. fil konfigurationsegenskab i vores application.properties fil:

logging.file = baeldung-disabled-console.log

Bemærk: hvad der faktisk deaktiverer konsoloutput her, er det faktum, at vi ikke inkluderer konsol-appender.xml i vores XMLfil, så en tom konfiguration tag ville også gøre tricket.

Alternativtvi kan undgå at oprette XMLfil ved at tilsidesætte standardkonfigurationen med applikationsegenskaber.

For eksempel kan vi potentielt gøre brug af logging.pattern.console ejendom:

logging.pattern.console =

Denne ejendom er oversat til CONSOLE_LOG_PATTERN systemegenskab, som derefter bruges af Spring-standardkonsolkonfigurationen.

Denne tilgang er selvfølgelig ikke så ren og solid som den foregående. Det er ikke det tilsigtede formål med ejendommen, og dette 'hack' understøttes muligvis muligvis ikke af Logback på et eller andet tidspunkt.

Desuden kan vi deaktivere al logningsaktivitet ved at indstille værdien af ​​rodloggerniveauet til AF:

logging.level.root = FRA

3. Sådan undgår du at logge på konsollen med Log4j2

Som vi måske ved, understøtter Log4j2 XML-, JSON-, YAML- eller egenskabsformater for at konfigurere dets logningsadfærd.

Af hensyn til enkelheden viser vi bare et simpelt eksempel på en log4j2.xml arkiv denne gang.

De andre formater respekterer den samme konfigurationsstruktur:

Som med Logback-opsætningen er grunden til, at rammen undgår at logge på konsollen, ikke konfigurationen 'per se', men det faktum, at Root Logger ikke indeholder en henvisning til en Console Appender.

4. Sådan deaktiveres konsollogning til Java Util-logning

Java Util Logging (eller simpelthen 'JUL') er muligvis ikke den mest populære logningsløsning til Spring Boot-applikationer i dag.

Under alle omstændigheder analyserer vi, hvordan vi kan slippe af med konsollogfiler, hvis rammen er til stede i vores projekt.

Alt, hvad vi skal gøre er at føje følgende værdier til standard logging.properties i vores ressourcemappe:

handlers = java.util.logging.FileHandler java.util.logging.FileHandler.pattern = baeldung.log java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter

Og inkluder logning. fil ejendom i vores application.properties fil. Enhver værdi gør tricket:

logging.file = sandt

5. Konklusion

Med disse korte eksempler kan vi nu deaktivere konsollogfiler i vores applikation problemfrit, uanset hvilken logningsramme vi bruger.

Som altid kan vi finde eksemplernes implementeringer i vores Github-arkiv.


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