2016-12-27 41 views
1

在常規文件我已經導入罐groovy.util.logging.Log4j org.apache.log4j.Level使用@Log4j和我設置日誌級別爲:在構造函數中log.setLevel(Level.TRACE)爲什麼我爲TRACE獲取groovy.lang.MissingPropertyException?

現在在執行腳本我得到groovy.lang.MissingPropertyException: No such property: TRACE for class: org.apache.log4j.Level但是當我更換TRACE信息它成功執行。

那麼這是什麼原因?

+0

你可以嘗試靜態導入'import static org.apache.log4j.Level。*'然後像'log.level = TRACE'那樣設置 –

+0

你正在使用哪個版本的'org.apache.log4j'?如果你檢查https://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/Level.html,你可以看到'TRACE'可用,因爲:1.2.12 –

+0

我正在使用'log4j- 1.2.16.jar',所以TRACE可用。 –

回答

1

在應用程序中是否使用了多個版本的log4j? [log4j-1.2.16.jar &低於不支持TRACE的log4j-1.2.12.jar] 在這種情況下,較低版本可能已經被您的groovy腳本考慮。如果您正在執行腳本LINUX,在末尾附加$ GROOVY_HOME/lib/log4j-1.2.16.jar到$ CLASSPATH。這工作!

相關問題