log4j

De la Wikipedia, enciclopedia liberă.
Salt la navigare Salt la căutare
Apache log4j
software
Siglă
Tip Bibliotecă software (nu este listată )
Dezvoltator Apache Software Foundation
Ultima versiune 2.14.1 (12 martie 2021)
Sistem de operare Multiplatform
Limba Java
Licență Licență Apache 2.0
( licență gratuită )
Site-ul web logging.apache.org/log4j/2.x/

În informatică, Apache log4j este o bibliotecă Java , scrisă inițial de Ceki Gülcü, acum face parte din proiectul log4j al Apache Software Foundation , unul dintre instrumentele posibile pentru gestionarea jurnalelor într-un mediu Java împreună cu: logback, SLF4J, Java API pentru logare, Apache Common Logging, tinylog și altele.

Utilizat pe scară largă în multe aplicații Java, dezvoltarea sa a încetinit de-a lungul anilor și a devenit dificil de întreținut datorită necesității de a rămâne compatibil cu versiunile foarte vechi de Java. Și-a încheiat ciclul de viață în august 2015 în favoarea noului proiect log4j 2 (consultați https://logging.apache.org/log4j/2.x/manual/index.html ).

Orice aplicație Java trebuie să scrie un jurnal. Pe măsură ce complexitatea aplicației crește, cantitatea de mesaje scrise într-unul sau mai multe jurnale devine, de asemenea, complexă. În caz extrem, pot apărea probleme de performanță din cauza acumulării unui număr excesiv de mesaje. Log4j și celelalte instrumente posibile servesc pentru a organiza mai bine acest lucru.

Nivelurile jurnalului

Următorul tabel definește nivelurile de jurnal și mesajele din log4j în ordinea descrescătoare a severității. Coloana din stânga indică nivelul de jurnal desemnat, iar în dreapta este o scurtă descriere.

Nivel Descriere
OPRIT Cel mai înalt nivel posibil este utilizat pentru a dezactiva jurnalele.
FATAL Greșeală majoră care a provocat încetarea prematură a executării. Se așteaptă ca acest lucru să fie imediat vizibil pentru operator.
EROARE O eroare de execuție sau o condiție neașteptată. Și acest lucru trebuie raportat imediat.
A AVERTIZA Folosit pentru orice condiție neașteptată sau anomalie de execuție, care însă nu a dus neapărat la o eroare.
INFO Folosit pentru raportarea evenimentelor de execuție (exemplu: pornire / oprire). Trebuie raportat, dar nu menținut mult timp.
DEBUG Folosit în faza de depanare a programului. Este raportat în fișierul jurnal.
URMĂ Câteva informații detaliate. Se așteaptă să fie scris exclusiv în fișiere jurnal. A fost adăugat în versiunea 1.2.12.

Exemplu

 <? xml version = "1.0" encoding = "UTF-8"?>
<! DOCTYPE log4j: configurare PUBLIC
„http://logging.apache.org/log4j/docs/api/org/apache/log4j/xml/log4j.dtd”>
<log4j: configurare>
    <! - un appender este o destinație de ieșire, cum ar fi, de exemplu, consola sau un fișier;
numele alegerilor sunt alese în mod arbitrar ->
    <appender name = "stdout" class = "org.apache.log4j.ConsoleAppender" >
        <layout class = "org.apache.log4j.PatternLayout" >
            <param name = "ConversionPattern"
                value = "% d {ABSOLUTE}% 5p% c {1}:% L -% m% n" />
        </layout>
    </appender>
 
    <! - jurnalele din categoria „org.springframework” vor înregistra numai mesajele cu informații de nivel sau mai mari;
dacă preluați Loggers utilizând numele clasei (de exemplu Logger.getLogger (AClass.class))
iar dacă AClass face parte din pachetul springframework.org, acesta va aparține acestei categorii ->
    <logger name = "org.springframework" >
        <level value = "info" />
    </logger>

    <! - totul din primăvară a fost setat la informații, dar pentru clasa PropertyEditorRegistrySupport dorim
jurnal de depanare ->
    <logger name = "org.springframework.beans.PropertyEditorRegistrySupport" >
        <level value = "debug" />
    </logger>
 
    <logger name = "org.acegisecurity" >
        <level value = "info" />
    </logger>
 
    <root> <! - categoria rădăcină ->
        <! - toate mesajele jurnal de nivel de depanare sau mai grave vor fi înregistrate, cu excepția cazului în care este definit altfel ->
        <! - toate mesajele de jurnal vor fi înregistrate în aplicația „stdout”, cu excepția cazului în care este definit altfel ->
        <level value = "debug" />
        <appender-ref ref = "stdout" />
    </root>
</ log4j: configurare>

Compararea caracteristicilor diferitelor cadre de logare

Caracteristici
Cadru Niveluri de jurnal acceptate Anexe standard Popularitate Cost / licență
Log4J EROARE FATALĂ AVERTIZARE INFORMAȚII DEBUGĂ URMĂ AsyncAppender, JDBCAppender, JMSAppender, LF5Appender, NTEventLogAppender, NullAppender, SMTPAppender, SocketAppender, SocketHubAppender, SyslogAppender, TelnetAppender, WriterAppender Utilizat pe scară largă în multe proiecte și platforme Licență Apache, versiunea 2.0
API Java Logging INFORMAȚII DE AVERTIZARE SEVERE CONFIGURAȚI FINALIZAREA FINERULUI FINEST Mașina virtuală Java (JVM) implicită de Sun are următoarele: ConsoleHandler, FileHandler, SocketHandler, MemoryHandler Vine cu JRE
Apache Commons Logging EROARE FATALĂ AVERTIZARE INFORMAȚII DEBUGĂ URMĂ Depinde de cadrul de bază Utilizat pe scară largă, împreună cu log4j Licență Apache, versiunea 2.0
SLF4J ERROR WARN INFO DEBUG TRACE Depinde de cadrul de bază, care este conectabil Licență MIT
tinylog INFORMAȚII DE AVERTISMENT EROARE DEBUG TRACE ConsoleWriter, FileWriter, LogcatWriter, JdbcWriter, RollingFileWriter, SharedFileWriter și nul (elimină toate intrările de jurnal) [1] Licență Apache, versiunea 2.0
Logback ERROR WARN INFO DEBUG TRACE Prea multe pentru listare: consultați Appender JavaDoc Folosit în multe proiecte precum Akka , Apache Camel , Apache Cocoon , Artifactory , Gradle , Lift Framework , Play Framework , Scalatra , SonarQube etc. LGPL , versiunea 2.1

Notă

linkuri externe

Port

Informatică Portal IT : accesați intrările Wikipedia care se ocupă cu IT