运行maven execute时未初始化Log4j

运行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

我正在尝试使用Log4j运行groovy脚本。 脚本运行正常,但log4j未初始化。我已将log4j.properties放在src/main/resources中,并在pom.xml的build部分中包含了资源。下面是pom.xml的一部分

        <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