LOG4J.Properties Zusammenfassung:
1. Einführung
Log4J ist ein Open -Source -Projekt von Apache. Mit Log4J können wir das Ziel der Protokollinformationszustellung an Konsolen, Dateien, GUI -Komponenten, sogar Socket -Server, NT -Ereignisprotokoller, Unix -Syslog -Daemons usw. steuern; Wir können auch das Ausgangsformat jedes Protokolls steuern. Durch die Definition der Ebene jeder Protokollinformationen können wir den Protokollgenerierungsprozess sorgfältiger steuern.
Log4j besteht aus drei wichtigen Komponenten: der Priorität von Protokollinformationen, dem Ausgabeziel der Protokollinformationen und dem Ausgabeformat der Protokollinformationen. Die Priorität der Protokollinformationen ist von hoch bis niedrig. Fehler, Warnen, Info und Debuggen, mit denen die Bedeutung dieser Protokollinformationen angegeben werden; Das Ausgabeziel der Protokollinformationen gibt an, ob das Protokoll in die Konsole oder Datei gedruckt wird. und das Ausgabeformat steuert den Anzeigeinhalt der Protokollinformationen.
2. Konfigurationsdatei
Tatsächlich können Sie überhaupt keine Konfigurationsdateien verwenden, sondern die Log4J -Umgebung in Ihrem Code konfigurieren. Durch die Verwendung von Konfigurationsdateien wird Ihre Anwendung jedoch flexibler.
Log4J unterstützt zwei Konfigurationsdateiformate, eine ist eine XML -Formatdatei und die andere ist eine Eigenschaftenformatdatei. Im Folgenden stellen wir die Methode zur Verwendung des Eigenschaftenformats als Konfigurationsdatei vor:
Beispiel:
log4j.rootlogger = info, a1 log4j.appender.a1 = org.apache.log4j.conSeAppender log4j.appender.a1.layout = org.apache.log4j.patternLayout log4j.appender
1. Konfigurieren Sie den Root Logger, seine Syntax lautet:
log4j.rootlogger = [Level], appendername, appendername,…
Unter ihnen ist Level die Priorität der Protokollierung, unterteilt in Off, Fatal, Irrtum, Warn, Info, Debugug, All oder das von Ihnen definierte Niveau. Log4J empfiehlt nur vier Ebenen, wobei Priorität von hoch bis niedrig ist, nämlich Fehler, Warnen, Info und Debuggen. Auf der hier definierten Ebene können Sie die Switches auf die entsprechende Ebene der Protokollinformationen in der Anwendung steuern. Wenn hier beispielsweise die Info -Ebene definiert ist, werden alle Informationen zur Debug -Ebene in der Anwendung nicht ausgedruckt.
Appendername gibt an, wo die Protokollinformationen ausgegeben werden. Sie können gleichzeitig mehrere Ausgabeziele angeben.
2. Konfigurieren Sie den Ziel -Appender für Protokollinformationen, dessen Syntax lautet:
log4j.appender.appendername = vollständig
Unter ihnen sind die von Log4J bereitgestellten Appender wie folgt:
org.apache.log4j.conoleAppender (Konsole), org.apache.log4j.fileAppender (Datei), org.apache.log4j.dailyrollingFileAppender (Erstellen Sie eine Protokolldatei jeden Tag), org.apache. org.apache.log4j.writerAppender (Senden Sie Protokollinformationen im Stream -Format an einen bestimmten Ort)
(1). KonsoleAppender -Option
Schwellenwert = WARN: Gibt die niedrigste Ausgabeebene von Protokollnachrichten an. CORFOIREFLUSH = TRUE: Der Standardwert ist wahr, was bedeutet, dass alle Nachrichten sofort ausgegeben werden. Target = system.err: standardmäßig ist es: system.out, geben Sie die Ausgangskonsole an
(2) .FileAppender -Optionen
Schwellenwert = WARN: Gibt die niedrigste Ausgabeebene von Protokollnachrichten an.
CORFOIREFLUSH = TRUE: Der Standardwert ist wahr, was bedeutet, dass alle Nachrichten sofort ausgegeben werden.
Datei = myLog.txt: Gibt an, dass die Nachricht an die Datei myLog.txt ausgegeben wird.
Append = false: Der Standardwert ist wahr, was bedeutet, die Nachricht zur angegebenen Datei hinzuzufügen. Falsch bedeutet, die Nachricht in den angegebenen Dateiinhalt zu überschreiben.
(3) .DailyRollingFileAppender Option
Schwellenwert = WARN: Gibt die niedrigste Ausgabeebene von Protokollnachrichten an.
CORFOIREFLUSH = TRUE: Der Standardwert ist wahr, was bedeutet, dass alle Nachrichten sofort ausgegeben werden.
Datei = myLog.txt: Gibt an, dass die Nachricht an die Datei myLog.txt ausgegeben wird.
Append = false: Der Standardwert ist wahr, was bedeutet, die Nachricht zur angegebenen Datei hinzuzufügen. Falsch bedeutet, die Nachricht in den angegebenen Dateiinhalt zu überschreiben.
DatePattern = '.' Yyyy-ww: scrollen Sie die Datei einmal pro Woche, dh, generieren Sie jede Woche eine neue Datei. Natürlich können Sie auch monatlich, Woche, Tag, Zeit und Minute angeben. Das heißt, das entsprechende Format lautet wie folgt:
1) '.' Yyyy-mm: monatlich
2) '.' Yyyy-ww: Weekly
3) '.' Yyyy-MM-DD: Jeden Tag
4) '.' Yyyy-mm-dd-a: zweimal am Tag
5) '.' Yyyy-mm-dd-hh: stündlich
6) '.' Yyyy-mm-dd-hh-mm: pro Minute
(4) .RollingFileAppender -Optionen
Schwellenwert = WARN: Gibt die niedrigste Ausgabeebene von Protokollnachrichten an.
CORFOIREFLUSH = TRUE: Der Standardwert ist wahr, was bedeutet, dass alle Nachrichten sofort ausgegeben werden.
Datei = myLog.txt: Gibt an, dass die Nachricht an die Datei myLog.txt ausgegeben wird.
Append = false: Der Standardwert ist wahr, was bedeutet, die Nachricht zur angegebenen Datei hinzuzufügen. Falsch bedeutet, die Nachricht in den angegebenen Dateiinhalt zu überschreiben.
MaxFileSize = 100 KB: Das Suffix kann KB, MB oder GB sein. Wenn die Protokolldatei diese Größe erreicht, wird automatisch geprüft, und der ursprüngliche Inhalt wird auf verschoben
myLog.log.1 Datei.
Maxbackupindex = 2: Gibt die maximale Anzahl von Scroll -Dateien an, die generiert werden können.
3. Konfigurieren Sie das Layout von Protokollinformationen und die Syntax lautet:
log4j.appender.appendername.layout = vollständig.qualified.name.of.layout.class
log4j.appender.appendername.layout.option1 = value1
…
log4j.appender.appendername.layout.option = valuen
Unter ihnen lautet das von log4j bereitgestellte Layout wie folgt:
org.apache.log4j.htmllayout (Layout in HTML -Tabellenformular),
org.apache.log4j.patternLayout (der Layoutmodus kann flexibel angegeben werden),
org.apache.log4j.simplelayout (enthält die Ebene und Informationszeichenfolge von Protokollinformationen),
org.apache.log4j.ttcclayout (einschließlich Zeit, Thread, Kategorie usw. der Protokollgenerierung)
4. Einstellungen für Ausgabeformat
In der Konfigurationsdatei können Sie das Protokollausgangsformat über log4j.appender.a1.layout.ConversionPattern einstellen.
Parameter:
%P: Die Priorität der Ausgabeprotokollinformationen, d. H. Debug, Info, Warn, Fehler, tödlich,
%d: Datum oder Uhrzeit des Protokollzeitpunkts wird ausgegeben. Das Standardformat ist ISO8601. Sie können das Format anschließend auch angeben, z.
%R: Die Anzahl der Millisekunden zum Ausgang vom Anwendungsstart zur Ausgabe dieser Protokollinformationen
%C: Die Kategorie, zu der die Ausgangsprotokollinformationen gehört, ist normalerweise der vollständige Name der Klasse
%T: Ausgabe des Threadnamens, der das Protokollereignis generiert
%L: Das Ausgangsprotokollereignis erfolgt am Ort des Auftretens von%C.%M (%f:%l), einschließlich des Kategoriennamens, des Vorkommens -Threads und der Anzahl der Zeilen im Code. Beispiel: testlog4.main (testlog4.java:10)
%X: Die Ausgabe von NDC (verschachtelte diagnostische Umgebung) im Zusammenhang mit dem aktuellen Thread, insbesondere in Anwendungen wie Java-Servlets mit Multi-Kunde und Multi-Threading.
%%: Ausgabe eines "%" -Scharakters
%F: Der Dateiname, bei dem die Ausgabebeinmeldung generiert wurde
%L: Zeilennummer im Ausgabescode
%M: Die im Ausgabescode angegebene Meldung und die generierten spezifischen Protokollinformationen
%N: Ausgabe eines Wagenrücklaufleitungsausbruch
Modifikatoren können zwischen % und Muster Zeichen hinzugefügt werden, um ihre minimale Breite, maximale Breite und Textausrichtung zu kontrollieren. wie:
1)%20c: Geben Sie den Namen der Ausgangskategorie an, die Mindestbreite 20. Wenn der Name der Kategorie weniger als 20 beträgt, wird sie standardmäßig rechts ausgerichtet.
2)%-20c: Gibt den Namen der Ausgangskategorie an. Die minimale Breite beträgt 20. Wenn der Name der Kategorie weniger als 20 beträgt, gibt das "-" -Steichen die linke Ausrichtung an.
3)%. 30c: Geben Sie den Namen der Ausgangskategorie an. Die maximale Breite beträgt 30. Wenn der Name der Kategorie größer als 30 ist, werden die zusätzlichen Zeichen auf der linken Seite abgeschnitten, aber wenn sie weniger als 30 sind, gibt es keine Leerzeichen.
4)%20.30c: Wenn der Name der Kategorie weniger als 20 ist, füllen Sie den Raum aus und richten Sie das Recht aus. Wenn sein Name länger als 30 Zeichen ist, schneiden Sie die Zeichen ab, die von links abgefangen werden.
3. Laden Sie die Datei log4j.properties
1. Laden im Federmodus, im Federmodus, in der Konfiguration und in web.xml:
Spring lädt log4j.properties, das einen log4jconfigListener liefert, mit dem die Log4J -Konfigurationsdatei und der Log4J -Ausgangspfad über die angegebene Stelle über Web.xml -Konfiguration geladen werden können. Es sollte beachtet werden
Log4jconfiglistener muss vor Spring's Listener sein.
web.xml
<!-Setzen Sie den Speicherort der Log4J-Konfigurationsdatei, die von Sprng geladen wurde-> <context-Param> <PARAMEL-NAME> LOG4JCONFIGLOCATION </Param-name> <param-value> web-inf/classes/log4j.Properties </param-value> </context-param> <! --><context-param> <param-name>log4jRefreshInterval</param-name> <param-value>10000</param-value> </context-param> <listener> <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class> </listener>
2. Die Ressourcendatei kann über die Ressourcenklasse geladen werden und ist in die Verwendung integriert.
public class testlog4j {public static void main (String [] args) {PropertyConfigurator.configure ("d: /code/conf/log4j.properties"); Logger logger = logger.getLogger (TestLog4j. Klasse); logger.debug ("debug"); Logger.Error ("Fehler"); }}4. Verwendung im Programm
Bevor Sie Log4J im Programm verwenden, müssen Sie zuerst Commons-Logging.jar und Logging-Log4J-1.2.9jar in den Klassenpfad und LOG 4J.Properties im SRC-Root-Verzeichnis importieren. Es wird als nächstes bereit sein.
1. Holen Sie sich den Rekorder
Mit Log4J besteht der erste Schritt darin, den Protokollrekorder zu erhalten, der für die Steuerung der Protokollinformationen verantwortlich ist. Die Syntax ist:
öffentlicher statischer Logger getLogger (String -Name),
Holen Sie sich den Logger nach dem angegebenen Namen und erstellen Sie bei Bedarf einen neuen Protokoll für den Namen. Der Name wird in dieser Klasse allgemein benannt, wie beispielsweise:
static logger logger = logger.getLogger (serverwithLog4j.class.getName ());
Hinweis: Es wird empfohlen, das Commons-Logging in Kombination mit Log4J zum Protokollieren zu verwenden
private static logger = logFactory.getLog (YourClass.Class);
2. Einfügen von Datensatzinformationen (Formatprotokollinformationen)
Wenn die beiden vorangegangenen erforderlichen Schritte ausgeführt werden, können Sie die Protokollierungsanweisungen unterschiedlicher Prioritätsniveaus überall einfügen, wo Sie protokollieren möchten. Die Syntax ist wie folgt:
Logger.debug (Objektnachricht); Logger.info (Objektnachricht); Logger.warn (Objektnachricht); Logger.Error (Objektnachricht);
Zum Beispiel:
import org.apache.log4j.*; public class logtest ... {static logger logger = logger.getLogger (logest.class.getName ()); public static void main (String [] args) ... {// Die Datei log4j.properties über PropertyConfigurator laden. Wenn Sie diesen Satz nicht hinzufügen, gibt es Feder -Lade -PropertyConfigurator.configure ("./SrCLOG4J.Properties"); logger.debug ("Debug ..."); logger.info ("info ..."); logger.warn ("warnen ..."); Logger.Error ("Fehler ..."); }}Zusammenfassen
Das obige ist die vom Editor eingeführte log4j.properties -Konfiguration und -Ladeanwendung. Ich hoffe, es wird für alle hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht und der Editor wird allen rechtzeitig antworten. Vielen Dank für Ihre Unterstützung auf der Wulin.com -Website!