plugins - 如何配置 jetty-maven-plugin 来记录 oejs、oejsh、oejsh 包

标签 plugins maven logging jetty

我正在尝试配置jetty-maven-plugin 8.0.3.v20111011。 我正在运行部署 war 目标。与恶魔=真。

我无法查看 oejs、oejsh、oejsh 包中的日志。

为了获取日志,我尝试了两种方法。

1> 为插件设置 log4j 2> 设置 stdOut 和 StdErr...但是我仍然无法获取日志

以下是我的 POM、log4j.properties 和 jetty-logging.xml

    <plugin>  
        <groupId>org.mortbay.jetty</groupId>  
        <artifactId>jetty-maven-plugin</artifactId>  
        <version>8.0.3.v20111011</version>  
        <configuration>  
            <systemProperties>                          
                <systemProperty>  
                    <name>org.apache.commons.logging.Log</name>  
                    <value>org.apache.commons.logging.impl.Log4JLogger</value>  
                </systemProperty>  
                <systemProperty>  
                    <name>slf4j</name>  
                    <value>false</value>  
                </systemProperty>  
                <systemProperty>  
                    <name>log4j.configuration</name>  
                    <value>file:///${project.basedir}/src/test/resources/log4j.properties</value>  
                </systemProperty>  
                <systemProperty>  
                    <name>jetty.logs</name>  
                    <value>.</value>  
                </systemProperty>  
            </systemProperties>  
            <war>${deploy.war}</war>  
            <webApp>  
                <contextPath>${server.basePath}</contextPath>  
            </webApp>  
            <connectors>  
                <connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">  
                    <port>${server.run.port}</port>  
                </connector>  
            </connectors>  
            <stopPort>${server.stop.port}</stopPort>  
            <stopKey>hola</stopKey>  
            <jettyConfig>th-integration/src/test/resources/jetty-logging.xml</jettyConfig>  
        </configuration>  
        <executions>  
            <execution>  
                <id>start-jetty</id>  
                <phase>pre-integration-test</phase>  
                <goals>  
                    <goal>deploy-war</goal>  
                </goals>  
                <configuration>  
                    <daemon>true</daemon>  
                    <reload>manual</reload>  
                </configuration>  
            </execution>  
            <execution>  
                <id>stop-jetty</id>  
                <phase>post-integration-test</phase>  
                <goals>  
                    <goal>stop</goal>  
                </goals>  
            </execution>  
        </executions>                  
    </plugin>  

    log4j.rootCategory=DEBUG, server  
    log4j.appender.server=org.apache.log4j.FileAppender  
    log4j.appender.server.File=jetty_log4j.log  
    log4j.appender.server.layout=org.apache.log4j.PatternLayout  
    log4j.appender.server.layout.ConversionPattern=%d{MM-dd@HH:mm:ss} %-5p (%13F:%L) %3x - %m%n  
    log4j.logger.org.mortbay.log=DEBUG  
    log4j.logger.oejsh.ContextHandler=DEBUG  
    log4j.logger.oejd.DeploymentManager=DEBUG  
    log4j.logger.oejs.ServletHandler=DEBUG  
    log4j.logger.oejs.AbstractConnector=DEBUG  

<?xml version="1.0"?>  
<!DOCTYPE Configure PUBLIC "-//Mort Bay Consulting//DTD Configure//EN" "http://jetty.mortbay.org/configure.dtd">  
<Configure id="Server" class="org.eclipse.jetty.server.Server">  
    <!--Configure id="Server" class="org.mortbay.jetty.plugin.JettyServer"-->  
    <New id="ServerLog" class="java.io.PrintStream">  
        <Arg>  
            <New class="org.eclipse.jetty.util.RolloverFileOutputStream">  
                <Arg>yyyy_mm_dd.jetty_console.log</Arg>  
                <Arg type="boolean">false</Arg>  
                <Arg type="int">90</Arg>  
                <Arg>  
                    <Call class="java.util.TimeZone" name="getTimeZone">  
                        <Arg>GMT</Arg>  
                    </Call>  
                </Arg>  
                <Get id="ServerLogName" name="datedFilename"/>  
            </New>  
        </Arg>  
    </New>    
    <Call class="org.eclipse.jetty.util.log.Log" name="info">  
        <Arg>Redirecting stderr/stdout to  
            <Ref id="ServerLogName"/>  
        </Arg>  
    </Call>  
    <Call class="java.lang.System" name="setErr">  
        <Arg>  
            <Ref id="ServerLog"/>  
        </Arg>  
    </Call>  
    <Call class="java.lang.System" name="setOut">  
        <Arg>  
            <Ref id="ServerLog"/>  
        </Arg>  
    </Call>  
</Configure>  

最佳答案

您需要将 org.eclipse.jetty.LEVEL 设置为 DEBUG

在命令行上,您只需使用 -Dorg.eclipse.jetty.LEVEL=DEBUG 所以我认为您的问题是您不应该将配置中的这些包名称缩短为 oejs,我们在输出中这样做只是为了节省一些空格,实际级别为实际包名称。

关于plugins - 如何配置 jetty-maven-plugin 来记录 oejs、oejsh、oejsh 包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9707603/

相关文章:

pdf - 如何仅使用 Adob​​e PDF 插件强制在谷歌浏览器中显示 PDF

jquery - 跟踪 jquery 中添加的输入类型以进行验证

Android Phonegap 插件和谷歌分析

java - 如果 JUnit 覆盖率低于特定阈值,如何使 Maven 构建失败

java - Maven Mojo : Taking complete control over logging/Forbid other plugins to log

java - log4j - 如何限制附加程序的包/类的日志

logging - SLF4J:类路径包含多个 SLF4J 绑定(bind)。控制台上打印的消息

eclipse - eclipse的vi插件?

java - 在外部库中设置 CDI

java - 节奏模板引擎与 GAE/J : AccessControlException in even simplest case