Kivételek naplózása az SLF4J használatával
1. Áttekintés
Ebben a gyors bemutatóban megmutatjuk, hogyan kell naplózni a kivételeket a Java-ban az SLF4J API használatával. Használjuk a slf4j-egyszerű API mint naplózás megvalósítása.
Különböző naplózási technikákat fedezhet fel egyik korábbi cikkünkben.
2. Maven-függőségek
Először hozzá kell adnunk a következő függőségeket a sajátunkhoz pom.xml:
org.slf4j slf4j-api 1.7.30 org.slf4j slf4j-simple 1.7.30
E könyvtárak legújabb verziói megtalálhatók a Maven Central oldalon.
3. Példák
Általában az összes kivételt a hiba() módszerben elérhető Logger osztály. Ennek a módszernek elég sok változata van. Felfedezzük:
void error (karakterlánc-üzenet); érvénytelen hiba (karakterlánc formátum, objektum ... argumentum); void error (String msg, Throwable t);
Inicializáljuk először a Logger amit használni fogunk:
Naplózó naplózó = LoggerFactory.getLogger (NameOfTheClass.class);
Ha csak meg kell mutatnunk a hibaüzenetet, akkor egyszerűen hozzáadhatjuk:
logger.error ("Kivétel történt!");
A fenti kód kimenete a következő lesz:
ERROR packageName.NameOfTheClass - Kivétel történt!
Ez elég egyszerű. De a kivételt (ideértve a veremnyomot) vonatkozó relevánsabb információk hozzáadásához írhatjuk:
logger.error ("Kivétel történt!", új Kivétel ("Egyedi kivétel"));
A kimenet a következő lesz:
ERROR packageName.NameOfTheClass - Kivétel történt! java.lang.Exception: Egyedi kivétel a packageName.NameOfTheClass.methodName helyen (NameOfTheClass.java:lineNo)
Több paraméter jelenlétében, ha a naplózási utasítás utolsó argumentuma kivétel, akkor az SLF4J feltételezi, hogy a felhasználó azt akarja, hogy az utolsó argumentum kivételként kezelhető legyen egyszerű paraméter helyett:
logger.error ("{}, {}! Kivétel történt!", "Helló", "Világ", új kivétel ("Egyedi kivétel"));
A fenti részletben a Húr üzenet formázása az átadott objektum adatai alapján történik. A göndör zárójeleket helyőrzőként használtuk Húr a módszerhez továbbított paraméterek.
Ebben az esetben a kimenet a következő lesz:
ERROR packageName.NameOfTheClass - Helló, Világ! Kivétel történt! java.lang.Exception: Egyedi kivétel a packageName.NameOfTheClass.methodName helyen (NameOfTheClass.java:lineNo)
4. Következtetés
Ebben a gyors bemutatóban megtudtuk, hogyan kell naplózni a kivételeket az SLF4J API használatával.
A kódrészletek a GitHub adattárban érhetők el.