如何整合java.util.logging、System.(out | err)和Jetty日志?
我读过关于如何将java.util.logging日志和系统(out | err)输出通过管道传输到slf4j的内容:如何整合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
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]