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.