我试图在Soapui中使用Grroovy测试记录器,并在C:\ Program Files(x86)\ SmartBear \ SoapUI-5.0.0 \ bin \ ext
中添加了apache-logging-log4j我必须在这里添加更多库吗?
import groovy.util.logging.Log4j
import org.apache.log4j.Level
@Log4j
class Log4jLoggerClass
{
Log4jLoggerClass()
{
// It is necessary to set logging level here because default is FATAL and
// we are not using a Log4j external configuration file in this example
log.setLevel(Level.INFO)
println "\nLog4j Logging (${log.name}: ${log.class}):"
log.info "${this.printAndReturnValue(1)}"
log.debug "${this.printAndReturnValue(2)}"
}
public String printAndReturnValue(int newValue)
{
println "Log4j: Print method invoked for ${newValue}"
return "Log4j: ${newValue}"
}
}
我有以下错误:
org.codehaus.groovy.runtime.metaclass.MissingMethodExceptionNoStack:
No signature of method: Log4jLoggerClass.main() is applicable for argument types:
([Ljava.lang.String;) values: [[]]
Possible solutions: wait(), wait(long), any(), find(), wait(long, int), print(java.lang.Object)
答案 0 :(得分:0)
我不认为此错误与Log4J有任何关系。我不知道Soapui是什么,但从错误信息来看,看来你的班级应该有一个主要的方法。如果将此方法添加到Log4jLoggerClass
会发生什么?
static void main(String[] args) {
println "main method invoked"
}
在回复下面的评论时,我猜你没有在控制台上看到任何日志的原因是因为你没有配置控制台appender。通常,您使用配置文件配置Log4J,该文件指定用于各种命名空间的日志级别和追加程序。 appender(粗略地)定义了日志发送到的位置,因此控制台appender将日志发送到控制台,文件appender将它们存储在文件中等。如果将Log4J配置文件添加到项目中,则可以定义要以声明方式使用的appender和日志级别,即您可以删除语句log.setLevel(Level.INFO)