Java Jersey LoggingFeature:在web.xml中
我正在努力让Jersey Logging功能正常工作。 但我能找到的所有示例都使用ResourceConfig显式注册它 我没有ResourceConfig或Application子类,如何从web.xml启用LoggingFeature 编辑: 我试过:Java Jersey LoggingFeature:在web.xml中,java,jersey-2.0,Java,Jersey 2.0,我正在努力让Jersey Logging功能正常工作。 但我能找到的所有示例都使用ResourceConfig显式注册它 我没有ResourceConfig或Application子类,如何从web.xml启用LoggingFeature 编辑: 我试过: <servlet> <servlet-name>myApp</servlet-name> <servlet-class>org.glassfish.jersey.servlet.
<servlet>
<servlet-name>myApp</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
...
<init-param>
<param-name>jersey.config.server.provider.classnames</param-name>
<param-value>org.glassfish.jersey.logging.LoggingFeature</param-value>
</init-param>
</servlet>
myApp
org.glassfish.jersey.servlet.ServletContainer
...
jersey.config.server.provider.classnames
org.glassfish.jersey.logging.LoggingFeature
以及:
<servlet>
<servlet-name>myApp</servlet-name>
<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
<init-param>
...
</init-param>
<init-param>
<param-name>jersey.config.server.provider.classnames</param-name>
<param-value>org.glassfish.jersey.logging.LoggingFilter</param-value>
</init-param>
</servlet>
myApp
org.glassfish.jersey.servlet.ServletContainer
...
jersey.config.server.provider.classnames
org.glassfish.jersey.logging.LoggingFilter
记录请求的两种方法,无需应用程序
子类
一种方法是在web.xml
文件中声明LoggingFilter
<init-param>
<param-name>jersey.config.server.provider.classnames</param-name>
<param-value>org.glassfish.jersey.filter.LoggingFilter</param-value
</init-param>
在web.xml中声明它对我不起作用。如果我将ResourceConfig子类化并在那里注册LoggingFeature/Filter,它就会工作。
是servlet容器声明的参数,我猜您可能只是将
粘贴到web.xml
文件中的其他地方了?不,我将它放在标记中,同时在web.xml中声明servlet。无论如何,如果我把它放在其他地方,它会在IDE上给我错误。
import java.io.IOException;
import javax.ws.rs.container.ContainerRequestContext;
import javax.ws.rs.container.ContainerRequestFilter;
import javax.ws.rs.ext.Provider;
@Provider
public class MyLoggingFilter implements ContainerRequestFilter {
@Override
public void filter(ContainerRequestContext requestContext) throws IOException {
// replace by your own logging code
System.out.printf("%s %s\n", requestContext.getMethod(), requestContext.getUriInfo().getPath());
}
}