2013-11-26 3 views
1

Я пытаюсь запустить groovy-скрипт с Log4j. Скрипт работает нормально, но log4j не инициализируется. Я поместил log4j.properties в src/main/resources, а также включил ресурсы в сборку в pom.xml. Ниже приводится часть pom.xmlLog4j не инициализирован во время выполнения maven execute

 <plugin> 
      <groupId>org.codehaus.gmaven</groupId> 
      <artifactId>gmaven-plugin</artifactId> 
      <version>1.5</version> 
      <dependencies> 
       <dependency> 
        <groupId>org.codehaus.gmaven.runtime</groupId> 
        <artifactId>gmaven-runtime-2.0</artifactId> 
        <version>1.5</version> 
       </dependency> 
       <dependency> 
        <groupId>org.codehaus.groovy</groupId> 
        <artifactId>groovy</artifactId> 
        <version>2.1.9</version> 
       </dependency> 
       <dependency> 
        <groupId>log4j</groupId> 
        <artifactId>log4j</artifactId> 
        <version>1.2.17</version> 
       </dependency> 
      </dependencies> 
      <configuration> 
       <providerSelection>2.0</providerSelection> 
       <source> 
        ${pom.basedir}/src/main/groovy/Hello.groovy 
       </source> 
      </configuration> 


      <executions> 
       <execution> 
        <goals> 
         <goal>testCompile</goal> 
         <goal>compile</goal> 
         <goal>generateStubs</goal> 
         <goal>execute</goal> 
        </goals> 
       </execution> 

      </executions> 
     </plugin> 

Я использовал следующие команды для выполнения сценария:

mvn org.codehaus.gmaven:gmaven-plugin:1.5:execute 

Я получаю следующее предупреждение в конце выполнения скрипта:

log4j:WARN No appenders could be found for logger (...). 
log4j:WARN Please initialize the log4j system properly. 
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. 

ответ

0

I что-то подобное, пришлось явно инициализировать log4j в верхней части моего скрипта.

import org.apache.log4j.PropertyConfigurator 

def config = new ConfigSlurper().parse(new File( 
        "${basedir.canonicalPath}/src/main/scripts/log4j.groovy").toURL()) 
PropertyConfigurator.configure(config.toProperties()) 

, а затем обычная регистрация (в Java вызывает меня) работал нормально.

Вот мой тестовый файл log4j.groovy.

log4j.appender.stdout = "org.apache.log4j.ConsoleAppender" 
log4j.appender."stdout.layout" = "org.apache.log4j.PatternLayout" 
log4j.appender."stdout.layout.ConversionPattern" = "%-5p [%c{1}]: %m%n" 
log4j.rootLogger="error,stdout" 
log4j.logger.com.myCompany = "info,stdout" 
log4j.additivity.com.myCompany = false 
Смежные вопросы