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.