Logging-Framework: tinylog unterstützt Android

Das quelloffene Logging-Framework für Java unterstützt in einer neuen Beta-Version Android und globales Logging auf Anwendungsservern.

vorlesen Druckansicht
Logging-Framework: tinylog unterstützt Android und globales Logging auf Anwendungsservern
Lesezeit: 2 Min.
Von
  • Alexander Neumann

Mit der ersten Beta-Version von tinylog 1.2 unterstützt das quelloffene Java-Logging-Framework erstmals Android. Da es nur das API-Level 1 voraussetzt, lässt sich das Framework unter allen Android-Versionen einsetzen. Der neue Logcat-Writer leitet Log-Einträge an Androids natives Logging-System weiter. Im Gegensatz zur Log-Klasse von Android ist unter tinylog keine Tag-Konstante zu definieren und zu übergeben. tinylog kann diese offenbar automatisch anhand des Klassennamens generieren. Unter Android lassen sich neben dem genannten Writer alle bereits vorhandenen einsetzen. Beispielsweise ist es möglich, Log-Einträge in eine Log-Datei oder eine SQLite-Datenbank zu schreiben.

In der Beta werden nun neben klassischen JDBC-Verbindungen auch Java-EE-Data-Sources zum Loggen in Datenbank-Tabellen unterstützt. In der Vergangenheit mussten Datenbankverbindungen zweimal gepflegt werden: einmal als Java-EE-Data-Source für die Webanwendung und einmal in der tinylog.properties-Datei für das Logging-Framework. Da sich jetzt in der Datei die Source referenzieren lässt, entfällt die doppelte Pflege. Sollte eine Datenbankverbindung temporär ausfallen, kann tinylog die Verbindung automatisch wiederherstellen, sobald der Datenbankserver wieder erreichbar ist.

Die neue Version von tinylog kann Log-Einträge direkt an den Java-EE-Anwendungsserver übergeben. Dazu genügt es, das tinylog.jar durch tinylog-jul.jar (für Glassfish und Tomcat) beziehungsweise durch tinylog-jboss.jar (für Wildfly und JBoss EAP) zu ersetzen. Eine weitere Konfiguration ist offenbar nicht notwendig. Die Logging-API ist für alle JARs identisch. Somit lassen sie sich beliebig wechselseitig austauschen, ohne dass der Quellcode anzupassen oder neu zu kompilieren ist. Ist eine Weiterleitung der Log-Einträge an den Application Server nicht gewünscht, kann nach wie vor das tinylog.jar genutzt werden. In diesem Fall lässt sich das Logging einer Java-EE-Anwendung getrennt von allen anderen konfigurieren.

Im Gegensatz zu anderen Logging-Frameworks nutzt tinylog eine statische Logger-Klasse. Damit entfällt das Erzeugen einer Instanz des Loggers für jede einzelne Klasse. tinylog lässt sich wahlweise über eine Fluent-API oder eine Properties-Datei konfigurieren. Die neue Beta-Version kann in Pfaden Umgebungsvariablen im Unix-Stil wie "${userprofile}" auflösen. (ane)