如何整合java.util.logging、System.(out | err)和Jetty日志?

如何整合java.util.logging、System.(out | err)和Jetty日志?,java,jetty,slf4j,logback,java.util.logging,Java,Jetty,Slf4j,Logback,Java.util.logging,我读过关于如何将java.util.logging日志和系统(out | err)输出通过管道传输到slf4j的内容: 但它需要在jetty启动时执行一些jar/类和代码。基本上是这样的: SLF4JBridgeHandler.install()//到管道j.u.l SysOutOverSLF4J.sendsystemoutandertoroslf4j()//到管道系统。(out | err) 我知道如何向jetty添加所需的jar/类(只需将sysout-over-slf4j.jar

我读过关于如何将java.util.logging日志和系统(out | err)输出通过管道传输到slf4j的内容:

但它需要在jetty启动时执行一些jar/类和代码。基本上是这样的:

SLF4JBridgeHandler.install()//到管道j.u.l
SysOutOverSLF4J.sendsystemoutandertoroslf4j()//到管道系统。(out | err)

我知道如何向jetty添加所需的jar/类(只需将sysout-over-slf4j.jar和jul-to-slf4j.jar添加到$jetty_HOME/lib/ext),但是我不知道如何在服务器启动时运行代码abobe,以便jetty将合并输出(sysout和j.u.l)配置到slf4j。我可以在每个webapp上运行该代码,但为了使事情正确,它应该由jetty来完成,而不是由每个需要这种行为的webapp来完成

这是否应该以不同的方式进行?有没有一种非巫毒的方法可以做到这一点


请回答jetty版本>=8的问题。我不知道这是否有效,但你试过了吗

public class MyWebappServlet ... {
  static {
    // to pipe j.u.l
    SLF4JBridgeHandler.install();

    // to pipe System.(out|err)
    SysOutOverSLF4J.sendSystemOutAndErrToSLF4J();
  }
  ...
在您的
web.xml
中:

<servlet>
  <servlet-name>MyWebapp</servlet-name>
  <servlet-class>MyWebappServlet</servlet-class>
</servlet>
如果这可以在
jetty.sh
中完成,那么它将应用于该服务器实例中的所有web应用程序

java my.custom.JavaWrapper org.eclipse.jetty.start.Main [arguments]