Evidentiranje iznimki pomoću SLF4J

1. Pregled

U ovom brzom vodiču pokazat ćemo kako prijaviti iznimke u Javi pomoću SLF4J API-ja. Koristit ćemo slf4j-jednostavan API kao implementacija zapisivanja.

U jednom od naših prethodnih članaka možete istražiti različite tehnike bilježenja.

2. Ovisnosti Mavena

Prvo, moramo dodati sljedeće ovisnosti u naš pom.xml:

 org.slf4j slf4j-api 1.7.30 org.slf4j slf4j-jednostavan 1.7.30 

Najnovije verzije ovih knjižnica mogu se naći na Maven Central.

3. Primjeri

Obično se sve iznimke bilježe pomoću pogreška () metoda dostupna u Drvosječa razred. Postoji dosta varijacija ove metode. Istražit ćemo:

greška u poništenju (string msg); poništena pogreška (format niza, objekt ... argumenti); greška u poništenju (string msg, Throwable t);

Prvo inicijaliziramo Drvosječa koje ćemo koristiti:

Logger logger = LoggerFactory.getLogger (NameOfTheClass.class);

Ako samo moramo prikazati poruku o pogrešci, možemo jednostavno dodati:

logger.error ("Dogodila se iznimka!");

Rezultat gornjeg koda bit će:

POGREŠKA packageName.NameOfTheClass - Dogodila se iznimka!

Ovo je dovoljno jednostavno. Ali da bismo dodali relevantnije informacije o iznimci (uključujući trag steka) možemo napisati:

logger.error ("Dogodila se iznimka!", nova iznimka ("Prilagođena iznimka"));

Izlaz će biti:

POGREŠKA packageName.NameOfTheClass - Dogodila se iznimka! java.lang.Exception: Prilagođena iznimka na packageName.NameOfTheClass.methodName (NameOfTheClass.java:lineNo)

U prisutnosti više parametara, ako je posljednji argument u zapisniku zapisnika iznimka, tada će SLF4J pretpostaviti da korisnik želi da se zadnji argument tretira kao iznimka umjesto jednostavnog parametra:

logger.error ("{}, {}! Dogodila se iznimka!", "Pozdrav", "Svijet", nova iznimka ("Prilagođena iznimka"));

U gornjem isječku, Niz poruka će biti formatirana na temelju podataka o proslijeđenom objektu. Kao rezervirane znakove koristili smo kovrčave zagrade Niz parametri proslijeđeni metodi.

U tom će slučaju izlaz biti:

POGREŠKA packageName.NameOfTheClass - Zdravo, Svijete! Dogodila se iznimka! java.lang.Exception: Prilagođena iznimka na packageName.NameOfTheClass.methodName (NameOfTheClass.java:lineNo)

4. Zaključak

U ovom smo brzom vodiču saznali kako prijaviti iznimke pomoću API-ja SLF4J.

Isječci koda dostupni su u spremištu GitHub.


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