LoggerFactory.getLogger(ClassName.class) vs LoggerFactory.getLogger(dies.getClass().getName())

Ich bin versucht zu verbessern mein-Optimierung Kenntnisse in Java. Um das zu erreichen, habe ich ein altes Programm, das ich gemacht und ich versuche mein bestes, um es besser zu machen. In diesem Programm bin ich mit SL4J für die Protokollierung. Um den logger habe ich:

private static final Logger logger = LoggerFactory.getLogger(this.getClass().getName());

Damals schrieb ich den code, ich dachte, dies sei die beste option, weil ich Entferne einen Verweis auf den Namen der Klasse(die möglicherweise umgestaltet werden). Aber jetzt bin ich nicht mehr so sicher...

private static final Logger logger = LoggerFactory.getLogger(ClassName.class);

Auf der anderen Seite, hält den Verweis auf den Namen der Klasse, aber es entfernt einen Methodenaufruf. Dies kann nicht eine große Verbesserung in der Leistung für eine Klasse, aber wenn Sie haben eine Menge Klasse, das kann was werden.

Also meine Frage ist:

Welcher Ansatz ist besser? Über den Namen der Klasse oder bekommen es durch Reflexion?

Bitte motivieren Sie Ihre Antwort mit pro und cons. Danke.

InformationsquelleAutor Aurasphere | 2015-11-18

Schreibe einen Kommentar