我正在使用Jersey和Embedded编写一个简单的Restful Web服务 雄猫。
如何为嵌入式Tomcat服务器启用内部日志和访问日志。
这里是pom.xml依赖关系以及配置嵌入式Tomcat的主要类:
pom.xml依赖项
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.glassfish.jersey</groupId>
<artifactId>jersey-bom</artifactId>
<version>${jersey.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>8.5.53</version>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.containers</groupId>
<artifactId>jersey-container-servlet</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.media</groupId>
<artifactId>jersey-media-moxy</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.jersey.inject</groupId>
<artifactId>jersey-hk2</artifactId>
</dependency>
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
</dependencies>
App.java
package webservice.embedded.tomcat;
import org.apache.catalina.Context;
import org.apache.catalina.LifecycleException;
import org.apache.catalina.Wrapper;
import org.apache.catalina.startup.Tomcat;
import java.io.File;
public class App {
public static void main(String[] args) throws LifecycleException {
Tomcat tomcat = new Tomcat();
tomcat.setPort(8085);
Context ctx = tomcat.addContext("/webservice_with_embedded_tomcat", new File(".").getAbsolutePath());
Wrapper servletWrapper = Tomcat.addServlet(ctx, "Jersey_WebService_Servlet", "org.glassfish.jersey.servlet.ServletContainer");
ctx.addServletMappingDecoded("/*", "Jersey_WebService_Servlet");
servletWrapper.addInitParameter("javax.ws.rs.Application", "webservice.embedded.tomcat.config.AppConfig");
tomcat.start();
tomcat.getServer().await();
}
}