Log4j-Loggervariable in toString() - ja, oder nein und warum?

Kryptaesthesie

Erfahrenes Mitglied
Guten Morgen,

mich würde interessieren, wie ihr das handhabt ...

Ich nutze zum Loggen Log4j und habe in jeder Klasse somit folgendes stehen:
Code:
private static Logger logger = Logger.getLogger(MyClass.class);
Wenn ich jetzt eine toString-Methode generieren lasse (mit Codesugar), dann ist die Variable logger da auch vertreten. Was haltet ihr davon? Meiner Meinung nach gehört sie da nicht rein.
Oder wie definiert ihr toString()?

Danke schon mal für eure Ratschläge! :)
Gruß
Gerrit
 
Natürlich gehört ein logger nicht in eine toString-Methode. Statische Felder gehören allgemein nicht dort rein, da sie ja nicht zum Objekt gehören. Da scheint deine API die du zum toString generieren verwendest dass nicht wirklich richtig zu machen.

Am besten schreibst du an den logger auch noch ein final dran, denn verändern können soll man den ja nicht.
 
Btw. würde ich keine fixe Logging API im Code direkt verwenden, sondern eher sowas wie Commons-Logging. Das wählt dann die zur Laufzeit verfügbare Logging API und loggt damit. So wie im Beispiel oben bist du dan Log4j gekettet...

Gruß
Ollie
 
Btw. würde ich keine fixe Logging API im Code direkt verwenden, sondern eher sowas wie Commons-Logging. Das wählt dann die zur Laufzeit verfügbare Logging API und loggt damit. So wie im Beispiel oben bist du dan Log4j gekettet...
Wunderbar, das war mir noch gar nicht bekannt. Da muss ich mich dann noch mal mit befassen. :)
Danke für den Tipp!

Gruß
Gerrit
 

Neue Beiträge

Zurück