Als Java-Programmierer haben wir viele Java-Anwendungen entwickelt, darunter Desktop-Anwendungen, WEB-Anwendungen und mobile Anwendungen. Das Protokollsystem ist jedoch für eine ausgereifte Java-Anwendung unerlässlich. Während der Entwicklungs- und Debugging-Phase können Protokolle uns dabei helfen, Fehler besser und schneller zu lokalisieren. Dies wird uns helfen, das System besser zu verbessern. In diesem Artikel werden einige der von Java-Programmierern am häufigsten verwendeten Java-Logging-Framework-Komponenten vorgestellt.
1. Log4j – die beliebteste Java-Protokollkomponente
Log4j ist eine Open-Source-Protokollkomponente, die auf Java basiert und sehr leistungsfähig ist. Benutzeroberfläche und kann auch an den Ereignisrekorder des Betriebssystems und einiger systemresidenter Prozesse ausgegeben werden. Erwähnenswert ist auch, dass Sie mit Log4j das Protokollformat und die Protokollebene sehr bequem anpassen können, sodass Entwickler die Protokollinformationen vollständig kontrollieren können.
Offizielle Website: http://logging.apache.org/log4j/2.x/
Das Folgende ist ein einfaches Beispiel für die Verwendung von Log4j:
package com.mai.test; import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; public class Log4jTest { public static void main(String[] args) { Logger log = Logger.getLogger(Log4jTest.class); PropertyConfigurator.configure("src/log4j.properties"); log.debug("yes,debug"); log.info("yes,info"); log.error("yes,error"); log.warn("yes,warn"); } }
2, gclogviewer – Java-Protokollanzeigetool
gclogviewer ist ein GC-Protokollvisualisierungstool, das JDK 6 unterstützt. Im Vergleich zu gcviewer unterstützt gclogviewer die Generierung von GC-Trenddiagrammen basierend auf GC-Protokollen und unterstützt auch die Generierung von Optimierungsdatentrends Graph.
Offizielle Website: http://code.google.com/p/gclogviewer/
3. SLF4J – API-basiertes Java-Protokollierungsframework
SLF4J bietet eine einfache A Entwickler müssen diese Schnittstelle nur während der Konfiguration und Bereitstellung implementieren, um die Protokollierungsfunktion zu implementieren. Bei der Implementierung der Protokollierungs-API können Protokollierungs-APIs direkt implementiert werden, die mit SLF4J verbunden sind, z. B. NLOG4J und SimpleLogger. Entsprechende Adapter wie Log4jLoggerAdapter und JDK14LoggerAdapter können auch über die von SLF4J bereitgestellte API-Implementierung entwickelt werden.
Offizielle Website: http://www.slf4j.org/
4. Flume – Apache-Protokollserver
Bei den vorherigen Einführungen handelte es sich ausschließlich um Protokollierungstools, und Flume ist es ist ein verteiltes Protokollanalysesystem. Es verfügt über eine sehr flexible Architektur zum Sammeln, Aggregieren und Verschieben großer Mengen von Protokolldaten und bietet eine zuverlässige und fehlertolerante Systemarchitektur.
Offizielle Website: http://flume.apache.org/
5. zLogFabric – Protokollspeichersystem
zLogFabric ist ein Eine integrierte plattformübergreifende Protokollierungslösung, die Protokollinformationen von jeder Anwendung über das Nachrichtensystem sammelt und in einem zentralen System speichert. Der modulare Aufbau ermöglicht dem Server das Speichern, Weiterleiten, Warnen und Generieren von Protokollstatistiken.
zLogFabric kann Daten aus Dateien, Syslog, Log4j, Log4net und Windows-Ereignissen sammeln.
Offizielle Website: http://www.zlogfabric.com/
6. logstash – Java-Protokollverwaltungstool
logstash ist Mit Logstash können Sie Protokolle übertragen, verarbeiten, verwalten und abrufen und Entwicklern eine Weboberfläche zum Zählen und Abfragen von Protokollinformationen bereitstellen.
Offizielle Website: http://www.logstash.net/
7. Commons Logging
Die Implementierung von Commons Logging hängt nicht von bestimmten Protokollimplementierungstools ab. Es bietet nur einige abstrakte Schnittstellen für Protokollierungsvorgänge. Es kapselt andere Protokollierungstools wie Log4J und Avalon LogKit. und JDK 1.4 usw.
Offizielle Website: http://commons.apache.org/proper/commons-logging/
8. Darks Logs
Darks Logs ähnelt log4j und ist es auch Geeignet für Java, Android und andere Projekte, aber Darks Logs ist einfacher zu verwenden und hat auf der Android-Seite große Verbesserungen gebracht. Darks Logs fügt dem SQLite-Protokollspeicher einen Appender hinzu. Ziel ist es, das Problem zu lösen, dass Android-Protokolle allgemeine Vorgänge wie Protokollebene, Format, Speicher- oder Anzeigeziel usw. nicht flexibel steuern können.
Offizielle Website: https://github.com/liulhdarks/darks-logs