Log4Xul

Log4Xul is a utility inspired by Log4J for XUL developers.

Related Articles:

  • Fixed wrong behaviour in log4xul

    | tagged as
    Summary:

    Last week I was coding a little bit on my music player and as everytime I used my little logging-library log4xul. Most of the time I have the Level of the logger set to "debug" so that it prints every message. Because of this I haven't noticed that I have made a really embarrassing mistake with the logging levels in Log4xul. I have mixed the hierarchy of the levels so that with the logging level set to "DEBUG" the logger only prints this debug-messages while when set to "ERROR" it prints everything. Of cause this is wrong because you want the exactly reverse thing: When the level is set to "DEBUG" you want to get every message and with level set to "ERROR" you only want to get the error messages. Now I have fixed this so the Log4xul should now work as expected.

    Log4Moz

    I have also found out that I have not searched enought for other logging frameworks at the time when I started to write Log4xul. In the meantime I have found the Log4Moz framework which is made for logging within firefox extensions. It is a lot more similar to the "original" Log4J and gives you the possibility to create hierarchically structured loggers for your files. When I first used Log4Moz I was impressed and intended to use it in the future. But then I switched back to my own logger because Log4Moz has no ability to print the messages in a textbox but only to the JSConsole and to a logfile. I have tried to write my own TextboxAppender for Log4Moz but it only worked till I hit the reload-button. After this it crashed. I don't know if it even would be possibile to write this kind of appender with the achitecture of Log4Moz.
    ...

  • Log4xul - Projekt bei Bitbucket angelegt

    | tagged as
    Summary:

    Vor kurzem hatte ich schon die Idee für ein XUL-Logging-Framework geäussert. In der vergangenen Woche habe ich schon ein wenig daran gearbeitet und bin auch zu ersten Ergebnissen gekommen. Ein solches Projekt macht aber natürlich nur dann Sinn, wenn es als OpenSource für jedermann zur Verfügung steht. Um das zu ermöglichen, habe ich heute bei bitbucket.org dafür ein Projekt erzeugt. Für die, die bitbucket nicht kennen: Bitbucket.org ist eine Plattform zur gemeinsamen Entwicklung von freier Software, vergleichbar mit github oder dem etwas älteren sourceforge. Bitbucket setzt auf das verteilte Versionsverwaltungssystem Mercurial (kurz 'hg' genannt). Jeder kann den Programmcode online im Browser betrachten oder ihn sich per hg auf den eigenen Rechner ziehen. Zum gegenwärtigen Zeitpunkt ist aber noch kein Code im Repository zu finden. Dies werde ich entweder heute Abend oder am Wochenende noch erledigen. Die URL zum Projekt ist: https://bitbucket.org/lestard/log4xul
    ...

  • Logging in XUL-Anwendungen

    | tagged as
    Summary:

    In meiner Freizeit bastel ich ja öffters mal mit XUL und Firefox-Addons herum. Da ich ja eigentlich Java-Programmierer bin, habe ich mich auch an die ein oder andere Annehmlichkeit gewöhnt, die dort üblich ist. Eine dieser Annehmlichkeiten ist das Logging, das ja quasi in jedem Projekt wie selbstverständlich mit benutzt wird. Der Logger ist ein Programmteil, dem man einfache Meldungen mitgeben kann, welche dieser bei der Ausführung anzeigt. Man kann dabei verschiedene Wichtigkeits-Stufen für einzelne Meldungen bestimmen und so festlegen, ob eine Meldung nun "nur" ein Debug-Hinweis ist oder gar einen schweren Fehler anzeigt. Vor der Ausführung kann man dann auch einstellen, ob man diesmal nur schwere Fehler sehen möchte oder auch unwichtige Meldungen. Wenn man seine Software z.B. fertig zum Kunden gibt, sollte man diesen schließlich vor reinen Entwickler-Hinweisen verschonen, während man beim Entwickeln gerne die ein oder andere Statusmeldung sehen möchte. Wie gesagt: In Java üblich, bei XUL aber zumindest in der Standardausführung des XUL-Runners nicht vorgesehen bzw. zumindest nicht in diesem Funktionsumfang. Bei meinen bisherigen Basteleien in XUL war einer der Ersten Schritte deshalb immer, mir erstmal eine eigene kleine Logger-Funktion zu schreiben, die Meldungen in einem Text-Feld in der GUI ausgibt. Den Funktionsumfang wie oben beschrieben hatte ich dabei natürlich nicht, obwohl das ja eigentlich schon auch praktisch wäre. Aus diesem Grund bin ich der Sache mal nachgegangen und bin auf zwei Logging-Frameworks für JavaScript gestoßen. Zum einen Log4JS, welches ebenfalls wie Log4J - der Quasi-Standard bei JAVA - vom Apache-Team entwickelt wird. Zum anderen Log4JavaScript. Beide machten beim testen in einer Webseite eine gute Figur jedoch funktionierte die Einbindung in XUL nicht so wirklich. Das ist natürlich verständlich, da der Fokus der Frameworks natürlich bei HTML-Dokumenten liegt und diese darauf ausgelegt sind. Ein Großteil der Funktionalität der Frameworks wird für XUL auch nicht benötigt. So kann Log4JS z.B. Logmeldungen über AJAX an einen Server übertragen. Dies ist für Webseiten durchaus interessant, macht aus meiner Sicht für XUL-Anwendungen oder BrowserAddons aber wenig Sinn. Die Überlegung ging deshalb in die Richtung, aus meinen eigenen kleinen Logger-Basteleien eventuell ein auf XUL angepasstes Logging-Framework zu entwickeln. Wenn die Freizeit das zulässt, wäre dies eins meiner nächsten Projekte.
    ...