【问题标题】:Why am I getting groovy.lang.MissingPropertyException for TRACE?为什么我会收到 TRACE 的 groovy.lang.MissingPropertyException?
【发布时间】:2016-12-27 07:32:30
【问题描述】:

在 groovy 文件中,我已导入 jars groovy.util.logging.Log4j org.apache.log4j.Level 以使用 @Log4j,并且我在构造函数中将日志级别设置为:log.setLevel(Level.TRACE)

现在在执行脚本时,我收到了groovy.lang.MissingPropertyException: No such property: TRACE for class: org.apache.log4j.Level,但是当我将 TRACE 替换为 INFO 时,它会成功执行。

那会是什么原因呢?

【问题讨论】:

  • 你可以尝试静态导入关卡import static org.apache.log4j.Level.*然后设置为log.level = TRACE
  • 您使用的是哪个版本的org.apache.log4j?如果您检查logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/…,您可以看到TRACE 可用:1.2.12
  • 我使用的是log4j-1.2.16.jar,所以这里可以使用TRACE。
  • 它不工作Mike W,显示同样的问题。
  • 这听起来像是项目中的一个问题。如果您可以分享一个演示问题的示例,那么排除故障可能很容易。

标签: grails logging groovy log4j


【解决方案1】:

您是否在应用程序中使用多个版本的 log4j? [log4j-1.2.16.jar 及以下不支持 TRACE 的 log4j-1.2.12.jar] 在这种情况下,您的 groovy 脚本可能已考虑到较低版本。如果您在 LINUX 中执行脚本,请将 $GROOVY_HOME/lib/log4j-1.2.16.jar 附加到 $CLASSPATH 末尾。这行得通!!!

【讨论】:

    猜你喜欢
    • 2023-04-05
    • 2016-08-21
    • 2014-07-04
    • 2020-06-06
    • 2018-12-26
    • 2021-03-05
    • 2013-07-13
    • 2019-05-28
    相关资源
    最近更新 更多