2017-06-27 2 views
0

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) 
+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

+0

@Compass ja das war die richtige Antwort. Vielen Dank. – leontp587

Antwort