Ich habe etwas Verwirrung darüber, wie Logger.throwing in Apache Log4J verwenden, um eine Ausnahme mit bestimmten Log-Level zu protokollieren.Log4j logger.throwing kann nicht Loglevel setzen
Logger ist eine Instanz org.apache.logging.log4j.Logger
Das funktioniert gut:
return logger.throwing(new Exception("Message"));
Dies funktioniert nicht. Warum? Hier
return logger.throwing(Level.DEBUG, new Exception("Message"));
ist der Fehler der Compiler zeigt:
[javac] return logger.throwing(Level.DEBUG, new Exception("Message"));
[javac] ^
[javac] method Logger.<T#1>throwing(org.apache.logging.log4j.Level,T#1) is not applicable
[javac] (cannot infer type-variable(s) T#1
[javac] (argument mismatch; org.apache.log4j.Level cannot be converted to org.apache.logging.log4j.Level))
[javac] method Logger.<T#2>throwing(T#2) is not applicable
[javac] (cannot infer type-variable(s) T#2
[javac] (actual and formal argument lists differ in length))
[javac] where T#1,T#2 are type-variables:
[javac] T#1 extends Throwable declared in method <T#1>throwing(org.apache.logging.log4j.Level,T#1)
[javac] T#2 extends Throwable declared in method <T#2>throwing(T#2)
'org.apache.log4j.Level kann nicht in org.apache.logging.log4j.Level' konvertiert werden, geben Sie den vollständigen Paketnamen von Level an. – Compass
@Compass ja das war die richtige Antwort. Vielen Dank. – leontp587