为Jetty'配置日志记录;s maven插件?
我使用以下插件配置调用“jetty:run”目标:为Jetty'配置日志记录;s maven插件?,jetty,slf4j,maven-jetty-plugin,Jetty,Slf4j,Maven Jetty Plugin,我使用以下插件配置调用“jetty:run”目标: <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>7.4.4.v20110707</version> <configuration> <scanIntervalSeconds
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>7.4.4.v20110707</version>
<configuration>
<scanIntervalSeconds>5</scanIntervalSeconds>
<connectors>
<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
<port>80</port>
</connector>
</connectors>
</configuration>
</plugin>
org.mortbay.jetty
jetty maven插件
7.4.4.v20110707
5.
80
Jetty拒绝将任何内容记录到slf4j,尽管我的项目将slf4j声明为依赖项。如果我将“-Dorg.eclipse.jetty.util.log.DEBUG=true”传递给JVM,jetty会输出大量日志,但它们似乎会转到stderr而不是slf4j。有什么想法吗?回答我自己的问题:
中指定
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>7.4.4.v20110707</version>
<configuration>
<scanIntervalSeconds>5</scanIntervalSeconds>
<connectors>
<connector implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
<port>80</port>
</connector>
</connectors>
</configuration>
<dependencies>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>0.9.29</version>
</dependency>
</dependencies>
</plugin>
org.mortbay.jetty
jetty maven插件
7.4.4.v20110707
5.
80
回写
回归经典
0.9.29
稍微扩展一下Gili的答案;使用properties maven插件是设置系统属性的一种方便方法,而不必在命令行上指定它们。我提供了logback和log4j的示例。除了Gili的答案中的jetty maven插件配置之外,还将此插件块添加到pom.xml中
回写:
org.codehaus.mojo
属性maven插件
1.0-α-2
设置系统属性
org.eclipse.jetty.util.log.IGNORED
真的
logback.configurationFile
/路径/to/logback.xml
Log4j:
org.codehaus.mojo
属性maven插件
1.0-α-2
设置系统属性
org.eclipse.jetty.util.log.IGNORED
真的
log4j.配置
文件:./src/main/resources/log4j.properties
同样对于log4j,对于jetty maven插件,自然使用以下依赖项,而不是logback classic:
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
...
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.4</version>
</dependency>
</dependencies>
</plugin>
org.mortbay.jetty
jetty maven插件
...
org.slf4j
slf4j-log4j12
1.6.4
注意,要配置日志记录,只需让maven知道配置文件的位置:mvn verify-Dlogback.configurationFile=/path/to/logback.xml是否有版本9的更新?使用此配置时,我没有看到来自Jetty的任何日志。@user64141我不知道有任何更改。也就是说,我不再使用Jetty maven插件。我现在从一个普通的Java类调用Jetty。
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>properties-maven-plugin</artifactId>
<version>1.0-alpha-2</version>
<executions>
<execution>
<goals>
<goal>set-system-properties</goal>
</goals>
<configuration>
<properties>
<!-- makes jetty log the exception if it fails to initialize slf4j -->
<property>
<name>org.eclipse.jetty.util.log.IGNORED</name>
<value>true</value>
</property>
<!-- this tells where the log4j configuration is -->
<property>
<name>log4j.configuration</name>
<value>file:./src/main/resources/log4j.properties</value>
</property>
<!-- this can be uncommented to debug startup log4j itself,
e.g. how it locates log4j.properties etc -->
<!--
<property>
<name>log4j.debug</name>
<value></value>
</property>
-->
</properties>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
...
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.4</version>
</dependency>
</dependencies>
</plugin>