În Java Cum să vă creați propriul nivel de înregistrare folosind Log4j (Configurarea Log4j 2)

Publicat: 2017-07-26
În Java Cum să vă creați propriul nivel de înregistrare folosind Log4j 2

Dacă trebuie să adăugați propriul nivel de înregistrare în Log4j, atunci puteți face acest lucru după cum urmează. Va trebui să vă creați propria clasă care se va extinde de la Level , Custom Log Levels cu Apache Log4j 2.

Log4j este un logging framework simplu și flexibil. Logging-ul oferă dezvoltatorului un context detaliat pentru eșecurile aplicației. Cu log4j este posibil să activați înregistrarea în timp de execuție fără a modifica binarul aplicației.

Pachetul log4j este conceput astfel încât aceste declarații să poată rămâne în codul livrat fără a suporta un cost mare de performanță.

Cum să vă creați propriul nivel de înregistrare în Log4j (Configurarea Log4j)

Log4j permite ca cererile de înregistrare să fie imprimate către mai multe destinații. În log4j speak, o destinație de ieșire se numește un appender . Acestea variază de la consolă, fișiere, componente GUI, servere socket la distanță la JMS.

Fișierul Jar de care aveți nevoie.

Iată o dependență de Maven:

Actualizați Log4j la cea mai recentă versiune

CVE-2021-44228: Apache Log4j2 <=2.14.1 Caracteristicile JNDI utilizate în configurare, mesajele de jurnal și parametrii nu protejează împotriva LDAP controlat de atacator și a altor puncte finale legate de JNDI.

Din log4j 2.16.0, acest comportament a fost dezactivat implicit.

Trebuie să puneți fișierul log4j.xml în folderul /resources :

log4j.xml din folderul de resurse

Iată un exemplu de cod Java pentru:

  • Log4j Logare pentru niveluri de jurnal personalizate în Java
  • Crearea propriului nivel de înregistrare în log4j
  • exemplu log4j log4j personalizat

CrunchifyLog4jLevel.java

Altul trebuie să citească:

  • Cum se pornește oprirea serverului Apache Tomcat prin linia de comandă? (Configurați ca serviciu Windows)
  • Creați și implementați un serviciu web simplu și un client pentru servicii web în Eclipse

Aici este conținutul fișierului log4j.xml

CrunchifyLog4jLevelTest.java

Rulați programul de testare și ar trebui să vedeți mai jos tipul de rezultat în Eclipse's Console .

Valoarea int pe care o specificați pentru nivelul de jurnal este importantă. Aici am definit că nivelul de jurnal „ CRUNCHIFY ” trebuie să fie mai mare decât nivelul DEBUG , dar mai mic decât nivelul TRACE furnizat de log4j.

Deci, ori de câte ori ați setat un nivel de prioritate pentru DEBUG pe categorie (în fișierul dvs. log4j.xml ), jurnalele de nivel CRUNCHIFY NU vor ajunge în fișierul jurnal.