Grails 为什么我得到groovy.lang.MissingPropertyException作为跟踪?

Grails 为什么我得到groovy.lang.MissingPropertyException作为跟踪?,grails,logging,groovy,log4j,Grails,Logging,Groovy,Log4j,在groovy文件中,我导入了JARgroovy.util.logging.Log4j和 org.apache.log4j.Level用于使用@log4j,我在构造函数中将日志级别设置为:log.setLevel(Level.TRACE) 现在在执行脚本时,我得到了groovy.lang.MissingPropertyException:没有这样的属性:TRACE for class:org.apache.log4j.Level,但是当我将TRACE替换为INFO时,它成功执行 那么原因是什么呢

在groovy文件中,我导入了JAR
groovy.util.logging.Log4j

org.apache.log4j.Level
用于使用
@log4j
,我在构造函数中将日志级别设置为:
log.setLevel(Level.TRACE)

现在在执行脚本时,我得到了
groovy.lang.MissingPropertyException:没有这样的属性:TRACE for class:org.apache.log4j.Level
,但是当我将TRACE替换为INFO时,它成功执行


那么原因是什么呢?

您的应用程序中是否使用了多版本的log4j? [log4j-1.2.16.jar&降低到不支持跟踪的log4j-1.2.12.jar]
在这种情况下,groovy脚本可能考虑了较低版本。如果您在LINUX中执行脚本,请在末尾将$groovy_HOME/lib/log4j-1.2.16.jar附加到$CLASSPATH。这很有效

您是否可以尝试静态导入级别
import static org.apache.log4j.Level.*
然后设置为
log.Level=TRACE
您使用的是哪个版本的
org.apache.log4j
?如果您检查,您可以看到
TRACE
是可用的,因为:1.2.12我正在使用
log4j-1.2.16.jar
,所以在这个项目中可以使用TRACE。它不起作用,显示出相同的问题。这听起来像是项目中的一个问题。如果您可以分享一个演示该问题的示例,那么进行故障排除就很容易了。