Update traversal from AJSC 2 to Spring Boot
[aai/traversal.git] / aai-traversal / src / main / java / org / onap / aai / web / LocalHostAccessLog.java
1 package org.onap.aai.web;
2
3 import ch.qos.logback.access.jetty.RequestLogImpl;
4 import org.eclipse.jetty.server.handler.HandlerCollection;
5 import org.eclipse.jetty.server.handler.RequestLogHandler;
6 import org.springframework.boot.context.embedded.EmbeddedServletContainerFactory;
7 import org.springframework.boot.context.embedded.jetty.JettyEmbeddedServletContainerFactory;
8 import org.springframework.boot.context.embedded.jetty.JettyServerCustomizer;
9 import org.springframework.context.annotation.Bean;
10 import org.springframework.context.annotation.Configuration;
11
12 import java.util.Arrays;
13
14 @Configuration
15 public class LocalHostAccessLog {
16
17         @Bean
18         public EmbeddedServletContainerFactory jettyConfigBean(){
19                 JettyEmbeddedServletContainerFactory jef = new JettyEmbeddedServletContainerFactory();
20                 jef.addServerCustomizers((JettyServerCustomizer) server -> {
21
22             HandlerCollection handlers = new HandlerCollection();
23
24             Arrays.stream(server.getHandlers()).forEach(handlers::addHandler);
25
26             RequestLogHandler requestLogHandler = new RequestLogHandler();
27             requestLogHandler.setServer(server);
28
29             RequestLogImpl requestLogImpl = new RequestLogImpl();
30             requestLogImpl.setResource("/localhost-access-logback.xml");
31             requestLogImpl.start();
32
33             requestLogHandler.setRequestLog(requestLogImpl);
34             handlers.addHandler(requestLogHandler);
35             server.setHandler(handlers);
36         });
37                 return jef;
38         }
39 }