为 Jetty 的 Maven 插件配置日志记录?
我使用以下插件配置调用“jetty:run”目标:
<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>
尽管我的项目将 slf4j 声明为依赖项,但 Jetty 拒绝将任何内容记录到 slf4j。如果我将“-Dorg.eclipse.jetty.util.log.DEBUG=true”传递给 JVM,Jetty 会输出大量日志,但它们似乎会转到 stderr 而不是 slf4j。有什么想法吗?
I'm invoking the "jetty:run" goal with the following plugin configuration:
<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>
Jetty refuses to log anything to slf4j in spite of the fact that my project declares slf4j as a dependency. If I pass "-Dorg.eclipse.jetty.util.log.DEBUG=true" to the JVM, Jetty outputs tons of logs but they seem to go to stderr instead of to slf4j. Any ideas?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
回答我自己的问题:
插件看不到项目依赖项。您需要在
内指定
。您需要指定具体的 slf4j 实现,例如 logback。仅仅指定 slf4j 是不够的。
最终结果应该是这样的:
Answering my own question:
Plugins don't see the project dependencies. You need to specify
<dependencies>
inside the<plugin>
.You need to specify a concrete slf4j implementation, such as logback. Specifying slf4j is not enough.
The end-result should look something like this:
稍微扩展一下吉利的答案;使用properties-maven-plugin是设置系统属性的便捷方法,而不必在命令行上指定它们。我提供了 logback 和 log4j 的示例。除了 Gili 答案中的 jetty-maven-plugin 配置之外,还将此插件块添加到您的 pom.xml 中。
Logback:
Log4j:
同样对于log4j,自然使用jetty-maven-plugin的以下依赖项而不是logback-classic:
Extending Gili's answer a bit; using the properties-maven-plugin is a convenient way to set system properties instead of having to specify them on the command line. I provide examples for both logback and log4j. Add this plugin block to your pom.xml in addition to the jetty-maven-plugin configuration in Gili's answer.
Logback:
Log4j:
Also for log4j, naturally use the following dependency for the jetty-maven-plugin instead of logback-classic: