运行maven execute时未初始化Log4j
我正在尝试使用Log4j运行groovy脚本。 脚本运行正常,但log4j未初始化。我已将log4j.properties放在src/main/resources中,并在pom.xml的build部分中包含了资源。下面是pom.xml的一部分运行maven execute时未初始化Log4j,maven,groovy,log4j,gmaven,Maven,Groovy,Log4j,Gmaven,我正在尝试使用Log4j运行groovy脚本。 脚本运行正常,但log4j未初始化。我已将log4j.properties放在src/main/resources中,并在pom.xml的build部分中包含了资源。下面是pom.xml的一部分 <plugin> <groupId>org.codehaus.gmaven</groupId> <artifactId>gmaven-plugi
<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>
我在脚本执行结束时收到以下警告:
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.
我做了类似的事情,必须在脚本顶部显式初始化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
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