如何为嵌入式Tomcat启用内部日志和访问日志

时间:2020-03-29 11:34:07

标签: tomcat logging server internal-server-error

我正在使用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();
    }
}

0 个答案:

没有答案