Hallo,
ich möchte in meinem Programm in all meinen Klassen zentral eine (ggf. die java-eigene) Logging-Klasse benutzen. Dazu muss ich ja erst ein Objekt der Logging-Klasse erstellen und dieses muss einen bestimmten Namen haben. Ich möchte aber, dass die Klassen, die den Logger verwenden, möglichst unabhängig vom Namen der Logger-Instanz geschrieben werden - d.h. ich möchte eigentlich nicht vorschreiben, dass der Logger nun immer myLogger o.ä. heißen muss. Besser wäre sogar, wenn das Logging komplett optional ist. Ich stelle mir das irgendwie so vor, dass ich in meinen ganzen Klassen einfach sagen kann "schreibe diesen Text in das Log", ohne darauf achten zu müssen, wie die Logger-Instanz heißt bzw. ob überhaupt eine existiert.
Geht das irgendwie?
Meine Idee war bisher, dass jede Klasse ein Attribut hat, die, wenn ein Logger vorhanden ist, den Namen von diesem enthält. Ist der Name nicht gesetzt, wird angenommen, dass das Logging aus ist. Aber das fühlt sich nicht schön an und ob es funktioniert, weiß ich auch nicht.
Danke für Hilfe.
ich möchte in meinem Programm in all meinen Klassen zentral eine (ggf. die java-eigene) Logging-Klasse benutzen. Dazu muss ich ja erst ein Objekt der Logging-Klasse erstellen und dieses muss einen bestimmten Namen haben. Ich möchte aber, dass die Klassen, die den Logger verwenden, möglichst unabhängig vom Namen der Logger-Instanz geschrieben werden - d.h. ich möchte eigentlich nicht vorschreiben, dass der Logger nun immer myLogger o.ä. heißen muss. Besser wäre sogar, wenn das Logging komplett optional ist. Ich stelle mir das irgendwie so vor, dass ich in meinen ganzen Klassen einfach sagen kann "schreibe diesen Text in das Log", ohne darauf achten zu müssen, wie die Logger-Instanz heißt bzw. ob überhaupt eine existiert.
Geht das irgendwie?
Meine Idee war bisher, dass jede Klasse ein Attribut hat, die, wenn ein Logger vorhanden ist, den Namen von diesem enthält. Ist der Name nicht gesetzt, wird angenommen, dass das Logging aus ist. Aber das fühlt sich nicht schön an und ob es funktioniert, weiß ich auch nicht.
Danke für Hilfe.