我正在尝试配置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/