Custom Appender für Log4J 1.x

vorhergehende Artikel in: Java Komponenten OpenSource
17.03.2018

Nachdem ich erfolglos versucht habe, Log4J 2 auf Arbeit in ein Projekt zu integrieren (Die Liste der Abhängigkeiten ist endlos und für ein Framework, dessen einziger Zweck das Logging ist, ehrlich gesagt eine Frechheit), habe ich neulich wieder einmal mit der Idee herumgespielt, Log4J 1.x komplett zur Laufzeit konfigurierbar zu machen. Als Abfallprodukt sind zwei neue Appender entstanden.

Beide Appender sind als Gists auf GitHub zu finden: SyntaxDocumentAppender.java loggt in eine Text-Komponente hinein. Ich habe dazu die JEdit-Komponente benutzt (näheres dazu in der Beschreibung des Gist), die ich bereits vor einiger Zeit gebrancht und durch die eine oder andere Zugabe ein wenig aufgewertet habe (Dient unter anderem in der sQLShell als Grundlage des SQL-Editors und dort wie auch in dWb+ als Java-Editor für die Anpassung verschiedener BeanShell-Skripte.

Damit ist diese Komponente nicht sofort in eigenen Projekten einsetzbar - aber die Abhängigkeiten von der JEdit-Komponente beziehungsweise meiner Interpretation davon sollte im Handumdrehen gegen Eigenes austauschbar sein...

JMXAppender.java ist ein Appender, der Logging-Events als JMX-Notifications an eventuell vorhandene Abonnenten sendet. Der ObjectName ist im Quelltext zur Zeit noch fest eingestellt - aber das zu ändern sollte vernachlässigbaren Aufwand verursachen. Wichtig ist noch, dass der Logging-Event in ein javax.management.openmbean.CompositeData-Objekt umgewandelt und ebenfalls übertragen wird - wichtig für Clients, die darauf basierend beispielsweise Filter implementieren möchten.

Artikel, die hierher verlinken

Fork der BeanShell wegen Trojan Source

19.12.2023

Es gibt inzwischen einen von mir erstellten Fork des originalen Repository, in dem ich die Komponente zur Darstellung der Konsole gegen die ausgetauscht habe, die in der sQLshell in den Plugins MDIJavaEditor und MDISqlEditor zum Einsatz kommt - dadurch wird wenigstens durch das Syntax-Highlighting auf problematische Stellen im Code hingewiesen.

AugmentedJEditTextArea

29.01.2022

Ich habe bereits verschiedentlich auf eine Komponente verwiesen, die ich aus einer frühen Version des Editors JEdit erstellt habe - zuletzt als ich über den Fork zur Verbesserung der BeanShell wegen der Trojan Source Vulnerability berichtete.

Log4J Plugin für JConsole/VisualVM

25.03.2018

Während meines Jahreswechselurlaubes versuche ich immer ein wenig Bildungsurlaub zwischenzuschieben. Dazu zählt der chaos communication congress ebenso wie manche Fingerübung. Aus einer dieser Fingerübung entstand ein kleines Projekt, das bis zu einem GitHub-Repository gewachsen ist...

InfluxDB Appender für Log4J 1.x

17.03.2018

Nachdem ich vor einiger Zeit zwei Appender für Log4J 1.x vorgestellt habe, habe ich - motiviert durch meine Experimente mit Raspi und ADS-B - einen weiteren verfasst - diesmal zum Schreiben der Daten in eine Zeitreihendatenbank.

Alle Artikel rss Wochenübersicht Monatsübersicht Codeberg Repositories Mastodon Über mich home xmpp


Vor 5 Jahren hier im Blog

  • Generator-Framework in JMeter integriert

    27.09.2020

    Nachdem ich neulich zwei neue Container für Software-Tests zu meinem Docker-Zoo hinzugefügt habe ist es nun an der Zeit, ein weiteres Hilfsmittel für Software-Tests mit JMeter vorzustellen

    Weiterlesen

Neueste Artikel

  • Generated Key Management in der sQLshell

    Ich habe an einem neuen Feature der sQLshell gearbeitet, das die manuelle Dateiengabe extrem vereinfacht.

    Weiterlesen
  • LinkCollections 2025 X

    Nach der letzten losen Zusammenstellung (für mich) interessanter Links aus den Tiefen des Internet von 2025 folgt hier gleich die nächste:

    Weiterlesen
  • GUI zur Logback Konfiguration

    Ich habe mich immer wieder darüber geärgert, wenn ich gerade mitten im Entwickeln neuer Features bin und irgendetwas nicht klappt. Dann wollte ich versuchen, herauszufinden, was der Grund dafür sein könnte und natürlich ist das Logging für die eine interessante Klasse gerade deaktiviert. Also: Konfigurationsdatei fürs Logging editieren, speichern, Anwendung neu starten... Damit sollte endlich Schluss ein!

    Weiterlesen

Manche nennen es Blog, manche Web-Seite - ich schreibe hier hin und wieder über meine Erlebnisse, Rückschläge und Erleuchtungen bei meinen Hobbies.

Wer daran teilhaben und eventuell sogar davon profitieren möchte, muss damit leben, daß ich hin und wieder kleine Ausflüge in Bereiche mache, die nichts mit IT, Administration oder Softwareentwicklung zu tun haben.

Ich wünsche allen Lesern viel Spaß und hin und wieder einen kleinen AHA!-Effekt...

PS: Meine öffentlichen Codeberg-Repositories findet man hier.