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

  • xBrowserSync in Docker

    29.03.2021

    Nachdem ich schon längere Zeit nicht mehr über neue Dienste in meinem Docker-Zoo berichtet habe, habe ich in der vergangenen Woche wieder einmal einen Neuzugang begrüßen dürfen...

    Weiterlesen

Neueste Artikel

  • Asymmetrische Kryptographie

    Ich habe mich mit der Idee schon länger getragen: Nochmal einen Rundumschlag zu asymmetrischer Kryptographie zu machen. Dabei werde ich mich auf Demonstrationen der einzelnen Konzepte und Operationen mit Beispielcode konzentrieren und zu jedem der vorgestellten Konzepte mehr oder weniger ausführlich bezüglich der Einsatzszenarien und Vor- und Nachteile Stellung beziehen

    Weiterlesen
  • Windows? Nur noch gegen Bezahlung!

    Ich habe mich nun völlig von Windows - der armseligen Ausrede für ein Computerbetriebssystem aus Redmond - abgenabelt

    Weiterlesen
  • Vergleich Analoger und Digitaler Identitäten

    Eine Präsentation zum besseren Verständnis der Konzepte hinter digitalen Identitäten

    Aktualisierung vom 16. März 2025

    Aktualisierung der Präsentation mit einem Beispiel aus einem Film der 1980er Jahre und Betonung des Fakts, dass das Subjekt überhaupt nicht bemerken muss, dass eine Identität erstellt wird...

    Aktualisierung vom 17. August 2025

    Ein weiteres Beispiel wurde hinzugefügt.

    Aktualisierung vom 30. März 2026

    Aktualisierung der Präsentation: Erläuterung der Möglichkeit, mehr als ein Zertifikat für dasselbe Schlüsselpaar auszustellen und Exkurs zu Transport Layer Security als Beispiel der Forderung des Vorweisens bestimmter Arten digitaler Identitäten.
    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.