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

  • Multi-User-WebDAV, Docker, GitHub

    17.11.2019

    Nachdem ich mich in letzter Zeit verstärkt mit Docker und dem zugehörigen Ökosystem beschäftige, habe ich begonnen, verschiedenste Dienste in Containern zu testen um zu sehen, ob in manchen Fällen LXC oder KVM nicht doch die bessere Wahl wäre...

    Weiterlesen...

Neueste Artikel

  • Migration der Webseite und aller OpenSource Projekte

    In eigener Sache...

    Weiterlesen...
  • AutoHideToolbar für Java Swing

    Ich habe eine neue Java Swing Komponente erstellt: Es handelt sich um einen Wrapper für von JToolBar abgeleitete Klassen, die die Werkzeugleiste minimieren und sie nur dann einblenden, wenn der Mauszeiger über ihnen schwebt.

    Weiterlesen...
  • Integration von EBMap4D in die sQLshell

    Ich habe bereits in einem früheren Artikel über meine ersten Erfolge berichtet, der sQLshell auf Basis des bestehenden Codes aus dem Projekt EBMap4D eine bessere Integration für Geo-Daten zu spendieren und entsprechende Abfragen, bzw. deren Ergebnisse auf einer Kartenansicht zu visualisieren.

    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.