Manchmal, wenn ich meinen Protokollcode sehe, frage ich mich, ob ich es richtig mache. Es gibt vielleicht keine endgültige Antwort darauf, aber ich habe folgende Bedenken:
Bibliotheksklassen
Ich habe mehrere Bibliotheksklassen, die möglicherweise einige INFO
Nachrichten protokollieren . Schwerwiegende Fehler werden als Ausnahmen gemeldet. Derzeit habe ich eine statische Protokollierungsinstanz in meinen Klassen mit dem Klassennamen als Protokollierungsnamen. (Log4j ist: Logger.getLogger(MyClass.class)
)
Ist das der richtige Weg? Möglicherweise möchte der Benutzer dieser Bibliotheksklasse keine Nachrichten von meiner Implementierung oder möchte sie in ein anwendungsspezifisches Protokoll umleiten. Sollte ich dem Benutzer erlauben, einen Logger von der "Außenwelt" aus einzustellen? Wie gehen Sie mit solchen Fällen um?
Allgemeine Protokolle
In einigen Anwendungen möchten meine Klassen möglicherweise eine Protokollnachricht in ein bestimmtes Protokoll schreiben, das nicht durch den Klassennamen gekennzeichnet ist. (Dh :) HTTP Request log
Was ist der beste Weg, so etwas zu tun? Ein Suchdienst kommt mir in den Sinn ...