Sie haben die Frage sowohl mit slf4j als auch mit log4j markiert. Daher nehme ich an, dass Ihr Projekt für die Verwendung von SLF4J eingerichtet ist und dass es seine log4j-Bindung verwendet.
Wenn Sie die SLF4J Bindung in Ihrer Klasse verwenden (import org.slf4j.Logger;
an der Oberseite), dann müssen Sie LoggerFactory.getLogger
verwenden (und Sie würden auch import org.slf4j.LoggerFactory;
benötigen).
Wenn Sie log4j direkt verwenden (mit an der Spitze Ihrer Klasse), verwenden Sie Logger.getLogger
.
In der Regel sollte SLF4J der Standard sein, den Sie für alle Protokollierungsbefehle verwenden, und Sie müssen sich darum sorgen, dass Sie sich mit dem eigentlichen Protokollierungsframework verbinden. Wenn Ihr Projekt SLF4J verwendet, verwenden Sie die SLF4J-Bindungen. Oder, wenn Sie nur log4j direkt verwenden möchten, können Sie es direkt verwenden, und vielleicht brauchen Sie nicht einmal die SLF4J-Bibliothek. (Ich bin ein großer Fan von SLF4J selbst, also würde ich vorschlagen, es für alles zu verwenden, aber das ist nur meine Meinung.)
Ich vermute, dass vielleicht Ihre Entwicklungsumgebung wählt automatisch eine dieser zu importieren, und Sie können sogar verschiedene Logger
s in verschiedenen Klassen importiert haben, ohne dass Sie überhaupt merken, dass sie nicht dieselbe verwenden.