Использование логгера в классном классе для мыла
Я создал следующий groovy скрипт в soapui (opensource).
import org.apache.log4j.Logger
class Test{
static String hello(){
def mylog = Logger.getLogger("")
mylog.info("Hello")
return mylog
}
}
log.info Test.hello()
log.info loge here
Он не получает никаких сообщений об ошибках и запускается, но не получает строку в информационном журнале (mylog.info), что я и ищу.
Первоначально я думал, что 'log.info' сделает это, что эквивалентно println при работе со скриптом sopaui groovy. Но так как я пытаюсь написать журнал из класса, класс по умолчанию не знает log.info, поэтому я указал использование log4j.Logger, но все еще не уверен, что мне не хватает.
Вне класса я поместил два log.info, чтобы напечатать значение обоих объектов логгера (первый - из моего классового класса, а второй - из soapui), и вот что я получил:
Thu Feb 02 17:10:56 CST 2017:INFO:org.apache.log4j.Logger@24e6b930
Thu Feb 02 17:10:56 CST 2017:INFO:org.apache.log4j.Logger@6ca396be
Они выглядят одинаково, за исключением того, что после @. Не уверен, что означают эти цифры, если это одна из причин, почему мой класс не записывает информационный журнал.
Если кто-то может мне помочь, я был бы признателен.
1 ответ
Похоже, вы столкнулись с тривиальной проблемой.
поскольку log
переменная уже доступна в Groovy Script
вам просто нужно передать это в ваш метод, как показано ниже:
Groovy Script
class MyTest{
static String testLogging(log){
log.info("Hello")
}
}
MyTest.testLogging(log)