I livelli di registrazione vengono utilizzati per classificare le voci nel file di registro. Ma classificano in un modo molto specifico, cioè in base all’urgenza. Il livello consente di separare i seguenti tipi di informazioni:
stati negli Stati Uniti
- Puoi filtrare i file di registro durante la ricerca.
- Puoi gestire la quantità di informazioni che registri.
La quantità e il tipo di informazioni fornite nel sistema e i registri eventi sono controllati dalle impostazioni del livello log4j nel file di configurazione. Ogni messaggio di registro è preceduto dal livello del messaggio.
I livelli di registrazione ne sono un esempio org.apache.log4j.Level classe.
Log4j ha i seguenti livelli di logging:
Livello di registro | Descrizione |
---|---|
TUTTO | Questo livello attiva tutti i livelli di registrazione. Include i livelli di registrazione personalizzati che hai definito. Una volta configurato questo e i livelli non vengono considerati affatto, tutti gli appender inizieranno a riversare gli eventi di registro nei file di registro. |
DEBUG | Il debug viene utilizzato molto per eseguire il debug dell'applicazione in fase di sviluppo. Ogni messaggio di registro apparirà nei file di registro una volta impostato questo livello. Fondamentalmente appartiene agli sviluppatori. |
INFORMAZIONI | Il livello di registrazione INFO viene utilizzato per registrare messaggi relativi al funzionamento di routine dell'applicazione. In tempo reale, gli amministratori di sistema controllano i registri delle informazioni per verificare cosa sta succedendo sul sistema in questo momento e se c'è qualche problema nel flusso normale. |
AVVISARE | Il livello di registro AVVISO viene utilizzato per indicare che potresti avere un problema e che hai rilevato una situazione insolita. Forse stavi chiedendo di invocare un servizio e questo ha fallito un paio di volte prima di connettersi con un nuovo tentativo automatico. Si tratta di un evento inaspettato e insolito, ma non è stato causato alcun danno reale e non è noto se il problema persisterà o si ripresenterà. Qualcuno dovrebbe indagare sugli avvertimenti. |
ERRORE | Il livello di registro ERRORE viene utilizzato per denotare un problema serio su cui è necessario indagare immediatamente. Non così grave come FATAL, ma pur sempre un problema. Significa semplicemente che la tua applicazione ha incontrato uno stato davvero indesiderato. Ad esempio, input formattato imprevisto, indisponibilità del database. |
FATALE | Il livello di registro FATAL, come ERROR, indica un problema. Ma a differenza di ERRORE, designa un evento di errore molto grave. Non considererai molto la loro presenza in una giornata normale, ma una volta apparsi, segnala brutte notizie, persino l'applicazione della morte. |
SPENTO | Questo è il rango più alto possibile e ha lo scopo di disattivare la registrazione. |
TRACCIA | Questo è stato recentemente introdotto nella versione 1.2 e include ulteriori informazioni sui log a livello di debug. |
Come impostare i livelli di registro?
Imposta il livello di registro in 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
Imposta il livello di registro in log4j.xml
Come funzionano i livelli di registro?
Il funzionamento dei livelli di registrazione è in realtà molto semplice. Durante il runtime, il codice dell'applicazione creerà richieste di registrazione, che avranno un livello. Allo stesso tempo, nel framework di registrazione è configurato un livello di registro che funge da soglia. Se il livello della richiesta è al livello configurato o a un livello superiore, viene registrato nella destinazione configurata. In caso contrario, è negato. E' semplicissimo.
Consideriamolo come il seguente ordine di classificazione per i livelli:
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>
Programma Java:
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!'); } }
Ora compila ed esegui il programma sopra e otterremo il seguente output nel file c:/usr/home/log4j/log.out:
Warn Message! Error Message! Fatal Message!