Hogyan lehet letiltani a konzol naplózását a tavaszi indításkor

1. Áttekintés

Általában a konzolnaplók lehetőséget adnak a rendszer egyszerű és intuitív hibakeresésére. Ennek ellenére vannak olyan esetek, amikor nem akarjuk engedélyezni ezt a funkciót a rendszerünkben.

Ebben a gyors bemutatóban Meglátjuk, hogyan lehet elkerülni a bejelentkezést a konzolra Spring Boot alkalmazás futtatásakor.

Egyszerűek leszünk, egyenesen a pontra mutató példákkal, amelyek bemutatják, hogyan lehet ezt elérni, függetlenül attól, hogy Logback, Log4js2 vagy akár a Java Util Logging keretrendszert használunk.

Ha többet szeretne megtudni a Spring Boot naplózási keretrendszereiről, javasoljuk, hogy tekintse meg a Naplózás tavaszi rendszerindításban oktatóanyagunkat.

2. Hogyan lehet letiltani a konzol kimenetét a visszalépéshez

Ha projektünk a Spring Boot indítókat használja, akkor a tavasz-csomagtartó-indító-naplózás a függőség is beletartozik.

Ez a bizonyos indító a Logbacket alapértelmezett keretrendszerként konfigurálja, és kezdetben alapértelmezés szerint csak a konzolra jelentkezik be.

Ez a konfiguráció leheta hozzáadásával testreszabható logback-spring.xml fájl az erőforrásainkhoz.

Például állítsuk be az XML-t úgy, hogy letiltsuk a konzol kimenetét, és csak egy fájlba naplózunk:

Ezenkívül szükségünk lesz a naplózás.fájl konfigurációs tulajdonság a alkalmazás.tulajdonságok fájl:

logging.file = baeldung-disabled-console.log

Megjegyzés: ami valójában itt tiltja le a konzol kimenetét, az a tény, hogy nem vesszük bele a console-appender.xml az XML-benfájl, tehát üres konfiguráció tag is megtenné a trükköt.

Alternatív megoldáskéntelkerülhetjük az XML létrehozásátfájlt felülírva az alapértelmezett konfigurációt az alkalmazás tulajdonságokkal.

Például potenciálisan felhasználhatjuk a naplózás.minta.konzol ingatlan:

naplózás.minta.konzol =

Ez a tulajdonság lefordítva CONSOLE_LOG_PATTERN rendszer tulajdonság, amelyet a Spring alapértelmezett konzol konfigurációja használ.

Ez a megközelítés természetesen nem olyan tiszta és szilárd, mint az előző. Ez nem az ingatlan rendeltetése, ezért előfordulhat, hogy a Logback ezt a „hackelést” valamikor nem támogatja.

Ezenkívül letilthatjuk az összes naplózási tevékenységet, ha a gyökér naplózó értékét beállítjuk KI:

logging.level.root = KI

3. Hogyan lehet elkerülni a naplózást a konzolban a Log4j2 segítségével

Mint tudjuk, a Log4j2 támogatja az XML, JSON, YAML vagy tulajdonságformátumokat a naplózási viselkedés konfigurálásához.

Az egyszerűség kedvéért csak egy egyszerű példát mutatunk be a log4j2.xml fájl ezúttal.

A többi formátum ugyanazt a konfigurációs struktúrát tartja tiszteletben:

Csakúgy, mint a Visszatérés beállításnál, a keretrendszer elkerüli a naplózást a konzolra, nem a konfiguráció önmagában, hanem az, hogy a Root Logger nem tartalmaz hivatkozást a Console Appenderre.

4. Hogyan lehet letiltani a konzol naplózását a Java Util naplózáshoz

Lehetséges, hogy manapság a Java Util Logging (vagy egyszerűen ’JUL’) nem a legnépszerűbb naplózási megoldás a Spring Boot alkalmazások számára.

Mindenesetre elemezzük, hogyan tudunk megszabadulni a konzol naplóitól, ha a keret jelen van a projektünkben.

Csak annyit kell tennünk, hogy hozzáadjuk a következő értékeket az alapértelmezetthez naplózás.tulajdonságok az erőforrások mappánkban:

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

És tartalmazza a naplózás.fájl ingatlan a mi alkalmazás.tulajdonságok fájl. Bármely érték megteszi a trükköt:

naplózás.fájl = igaz

5. Következtetés

Ezekkel a rövid példákkal most problémamentesen letilthatjuk alkalmazásunkban a konzolnaplókat, függetlenül attól, hogy milyen naplózási keretet használunk.

Mint mindig, a példák megvalósításait is megtalálhatjuk a Github-tárunkban.