Ich suche nach einer Möglichkeit, die Log-Ebene für eine innere Klasse zu setzen, sagen wir, ich habe die folgende Klasse:
%Vor% Ich kann die Log-Ebene von Outer mit dem Namen mypackage.Outer
festlegen. Aber wie stelle ich es für Inner
ein? Ich habe Folgendes ohne Erfolg getestet:
mypackage.Outer
mypackage.Outer.Inner
mypackage.Outer$Inner
(gibt einen Fehler) mypackage.Inner
Weiß jemand, ob es einen Weg gibt, dies zu tun?
Danke!
Inner.class.getName()
gibt mypackage.Outer$Inner
zurück, was nicht der erwarteten Konvention für Logger.getLogger () Parameter
basieren
name
- Ein Name für den Logger. Dies sollte ein durch Punkte getrennter Name sein und sollte normalerweise auf dem Paketnamen oder Klassennamen des Subsystems wie java.net oder javax.swing
Sie können explizit
verwenden %Vor% und legen Sie die Ebene mit myPackage.Outer.Inner
Seltsamerweise wird die Nachricht von SimpleFormatter()
formatiert, wobei $ für die innere Klasse verwendet wird, da sie den Klassennamen ausgibt, nicht den Loggernamen