Logboekniveaus worden gebruikt om de vermeldingen in uw logbestand te categoriseren. Maar ze categoriseren op een heel specifieke manier, dat wil zeggen op urgentie. Op dit niveau kunt u de volgende soorten informatie scheiden:
- Tijdens het zoeken kunt u uw logbestanden filteren.
- U kunt de hoeveelheid informatie die u registreert, beheren.
De hoeveelheid en het type informatie dat in het systeem en de gebeurtenislogboeken wordt gegeven, worden bepaald door de log4j-niveau-instellingen in het configuratiebestand. Elk logbericht wordt voorafgegaan door het niveau van het bericht.
mier versus maven
De logniveaus zijn daar een voorbeeld van org.apache.log4j.Niveau klas.
Log4j heeft de volgende logniveaus:
array-slicing van Java
Log niveau | Beschrijving |
---|---|
ALLE | Dit niveau schakelt alle logniveaus in. Het bevat de aangepaste logboekregistratieniveaus die u hebt gedefinieerd. Zodra deze is geconfigureerd en er helemaal geen rekening wordt gehouden met de niveaus, zullen alle appenders beginnen met het gieten van de loggebeurtenissen in logbestanden. |
DEBUGGEN | Debug wordt veel gebruikt voor het debuggen van de applicatie tijdens de ontwikkeling. Elk logbericht verschijnt bij logbestanden zodra dit niveau is ingesteld. Het is in principe eigendom van ontwikkelaars. |
INFO | Het INFO-logniveau wordt gebruikt om berichten over routinematig gebruik van applicaties op te nemen. Systeembeheerders bekijken in realtime de infologboeken om er zeker van te zijn wat er op dit moment op het systeem gebeurt en of er een probleem is in de normale stroom. |
WAARSCHUWEN | Het WARN-logniveau wordt gebruikt om aan te geven dat u mogelijk een probleem heeft en dat u een ongebruikelijke situatie heeft gedetecteerd. Misschien wilde u een dienst aanroepen en mislukte dit een paar keer voordat er automatisch opnieuw verbinding werd gemaakt. Het is onverwacht en ongebruikelijk, maar er is geen echte schade aangericht en het is niet bekend of het probleem zal blijven bestaan of zich opnieuw zal voordoen. Iemand zou waarschuwingen moeten onderzoeken. |
FOUT | Het ERROR-logniveau wordt gebruikt om een ernstig probleem aan te duiden dat u onmiddellijk moet onderzoeken. Niet zo ernstig als FATAAL, maar nog steeds een probleem. Het betekent eenvoudigweg dat uw aanvraag in een werkelijk ongewenste staat verkeert. Bijvoorbeeld onverwachte geformatteerde invoer, onbeschikbaarheid van de database. |
FATAAL | Het FATAL-logniveau duidt, net als ERROR, op een probleem. Maar in tegenstelling tot ERROR duidt dit op een zeer ernstige foutgebeurtenis. Op een normale dag zul je niet zo veel aan hun aanwezigheid denken, maar zodra ze verschijnen, betekent dit heel slecht nieuws, zelfs de toepassing van de dood. |
UIT | Dit is de hoogst mogelijke rang en is bedoeld om loggen uit te schakelen. |
SPOOR | Dit is onlangs geïntroduceerd in versie 1.2 en bevat meer informatie over het debuggen van niveaulogboeken. |
Hoe logniveaus instellen?
Stel het logniveau in log4j.properties in
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
Stel het logniveau in log4j.xml in
Hoe werken logniveaus?
De werking van logniveaus is eigenlijk heel eenvoudig. Tijdens runtime creëert de applicatiecode logverzoeken, die een niveau hebben. Tegelijkertijd heeft het logframework een logniveau geconfigureerd, dat als drempel fungeert. Als het verzoekniveau zich op het geconfigureerde niveau of hoger bevindt, wordt het geregistreerd op het geconfigureerde doel. Zo niet, dan wordt het geweigerd. Zo simpel is het.
Laten we dat als de volgende rangorde voor de niveaus beschouwen:
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-programma:
java dubbel naar string
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!'); } }
Compileer en voer nu het bovenstaande programma uit en we krijgen de volgende uitvoer in het bestand c:/usr/home/log4j/log.out:
Warn Message! Error Message! Fatal Message!