In Java besteht das Standard-Idiom für die Protokollierung darin, eine statische Variable für ein Loggerobjekt zu erstellen und diese in den verschiedenen Methoden zu verwenden.Anmelden in scala
In Scala sieht es so aus, als ob das Idiom ist, eine Logging-Eigenschaft mit einem Logger-Mitglied zu erstellen und das Merkmal in konkrete Klassen zu mixen. Dies bedeutet, dass jedes Mal, wenn ein Objekt erstellt wird, das Logging-Framework aufgerufen wird, um einen Logger zu erhalten, und das Objekt aufgrund der zusätzlichen Referenz ebenfalls größer ist.
Gibt es eine Alternative, die die Benutzerfreundlichkeit von "mit Protokollierung" ermöglicht, während immer noch eine Logger-Instanz pro Klasse verwendet wird?
EDIT: Meine Frage geht nicht darum, wie man ein Logging-Framework in Scala schreiben kann, sondern wie man ein existierendes (log4j) verwendet, ohne einen Overhead der Leistung (eine Referenz für jede Instanz zu bekommen) oder Komplexität des Codes. Außerdem, ja, ich möchte log4j verwenden, einfach weil ich Bibliotheken von Drittanbietern verwenden werde, die in Java geschrieben sind und wahrscheinlich log4j verwenden.
Was ist der Protokollpfad? – Adrian