Razine evidentiranja koriste se za kategoriziranje unosa u vašoj log datoteci. Ali oni kategoriziraju na vrlo specifičan način, tj. prema hitnosti. Razina vam omogućuje odvajanje sljedećih vrsta informacija:
- Možete filtrirati svoje log datoteke tijekom pretraživanja.
- Možete upravljati količinom podataka koje bilježite.
Količina i vrsta informacija danih u sustavu i zapisnici događaja kontrolirani su postavkama razine log4j u konfiguracijskoj datoteci. Svaka poruka dnevnika ima prefiks razine poruke.
Razine zapisivanja primjer su org.apache.log4j.Razina razreda.
Log4j ima sljedeće razine zapisivanja:
Razina zapisnika | Opis |
---|---|
SVI | Ova razina uključuje sve razine zapisivanja. Uključuje prilagođene razine zapisivanja koje ste definirali. Jednom kada je ovaj konfiguriran i razine se uopće ne uzimaju u obzir, tada će svi dodavači početi unositi događaje dnevnika u datoteke dnevnika. |
DEBUG | Debug se često koristi za otklanjanje pogrešaka u aplikaciji tijekom razvoja. Svaka poruka dnevnika pojavit će se u datotekama dnevnika kada se ova razina postavi. U osnovi pripada programerima. |
INFO | Razina zapisivanja INFO koristi se za snimanje poruka o rutinskom radu aplikacije. U stvarnom vremenu, administratori sustava promatraju zapise informacija kako bi provjerili što se trenutno događa na sustavu i ima li problema u normalnom tijeku. |
UPOZORITI | Razina zapisnika WARN koristi se za označavanje da možda imate problem i da ste otkrili neobičnu situaciju. Možda ste zahtijevali da pozovete uslugu, a nije uspjela nekoliko puta prije nego što ste se povezali pri automatskom ponovnom pokušaju. To je neočekivano i neuobičajeno, ali nije učinjena nikakva stvarna šteta i nije poznato hoće li problem potrajati ili će se ponoviti. Netko bi trebao istražiti upozorenja. |
POGREŠKA | Razina zapisnika ERROR koristi se za označavanje ozbiljnog problema koji morate odmah istražiti. Nije tako ozbiljno kao FATAL, ali ipak predstavlja problem. To jednostavno znači da je vaša aplikacija naišla na stvarno neželjeno stanje. Na primjer, neočekivani formatirani unos, nedostupnost baze podataka. |
KOBNO | Razina dnevnika FATAL, kao i ERROR, označava problem. Ali za razliku od ERROR, označava vrlo ozbiljan događaj pogreške. Nećete razmišljati o njihovoj prisutnosti u normalnim danima, ali kada se pojave, signaliziraju vrlo loše vijesti, čak i najavljenu smrt. |
ISKLJUČENO | Ovo je najviši mogući rang i namijenjen je za isključivanje zapisivanja. |
TRAG | Ovo je nedavno predstavljeno u verziji 1.2 i uključuje više informacija za zapise razine otklanjanja pogrešaka. |
Kako postaviti razine zapisa?
Postavite razinu zapisnika u log4j.properties
log4j.rootLogger=DEBUG, consoleAppender log4j.appender.consoleAppender=org.apache.log4j.ConsoleAppender log4j.appender.consoleAppender.layout=org.apache.log4j.PatternLayout log4j.appender.consoleAppender.layout.ConversionPattern=[%t] %-5p %c %x - %m%n #Log info messages for package 'com.javatpoint.web.controller' log4j.logger.com.javatpoint.web.controller=INFO, consoleAppender
Postavite razinu zapisnika u log4j.xml
Kako funkcioniraju razine zapisnika?
Rad na razinama zapisivanja zapravo je vrlo jednostavan. Tijekom izvođenja, kod aplikacije kreirat će zahtjeve za bilježenje, koji će imati razinu. Istodobno, okvir za bilježenje ima konfiguriranu razinu zapisnika koja djeluje kao prag. Ako je razina zahtjeva na konfiguriranoj razini ili višoj razini, zapisuje se na konfigurirani cilj. Ako nije, odbijeno je. To je tako jednostavno.
Uzmimo to u obzir kao sljedeći poredak za razine:
ALL <trace < debug info warn error fatal off pre> <p>So if, for instance, the logging framework level is set to WARN, requests with any of the levels WARN, FATAL, and ERROR will be accepted, while the rest will be denied.</p> <img src="//techcodeview.com/img/log4j-tutorial/51/log4j-logging-levels.webp" alt="Log4J Logging Levels"> <p>In the above diagram, the vertical header displays the Level of the LogEvent, while the horizontal header shows the Level associated with the appropriate logging configuration.</p> <p>For the first column, you will see how the log works in each level. For example, for WARN, (FATAL, ERROR, and WARN) will be visible. For OFF, nothing will be visible.</p> <h3>Log4j Level Example</h3> <p> <strong>Configuration File:</strong> </p> <pre> # Define the root logger with appender file log = /usr/home/log4j log4j.rootLogger = WARN, FILE # Define the file appender log4j.appender.FILE=org.apache.log4j.FileAppender log4j.appender.FILE.File=${log}/log.out # Define the layout for file appender log4j.appender.FILE.layout=org.apache.log4j.PatternLayout log4j.appender.FILE.layout.conversionPattern=%m%n </pre> <p> <strong>Java Program:</strong> </p> <pre> import org.apache.log4j.*; public class LogClass { private static org.apache.log4j.Logger log = Logger.getLogger(LogClass.class); public static void main(String[] args) { log.trace('Trace Message!'); log.debug('Debug Message!'); log.info('Info Message!'); log.warn('Warn Message!'); log.error('Error Message!'); log.fatal('Fatal Message!'); } } </pre> <p>Now compile and run the above program and we would get the following output in c:/usr/home/log4j/log.out file:</p> <pre> Warn Message! Error Message! Fatal Message! </pre> <hr></trace>
Java Program:
import org.apache.log4j.*; public class LogClass { private static org.apache.log4j.Logger log = Logger.getLogger(LogClass.class); public static void main(String[] args) { log.trace('Trace Message!'); log.debug('Debug Message!'); log.info('Info Message!'); log.warn('Warn Message!'); log.error('Error Message!'); log.fatal('Fatal Message!'); } }
Sada prevedite i pokrenite gornji program i dobili bismo sljedeći izlaz u datoteci c:/usr/home/log4j/log.out:
Warn Message! Error Message! Fatal Message!