From: jrh3 Date: Wed, 23 Aug 2017 13:40:28 +0000 (-0400) Subject: Add access.log to jetty server X-Git-Tag: v1.1.0~52 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=95dafe8eaedf270c639adf0e51481f0172d2b808;p=policy%2Fdrools-pdp.git Add access.log to jetty server Added a single line to the code that creates the jetty server so that it will log messages in access.log format. Also added lines to various logback.xml files to actually write the output from the jetty server to the access.log. Made some revisions per comments: - removed spaces around parameters - added "Out" suffix - changed suffix of archived files - changed size to 1MB Modified logback*.xml files to include jetty "access log" content in the already-existing network.log. Issue-Id: POLICY-161 Change-Id: I3e3769c06a22aaffea0e09abbec3387cc62f246f Signed-off-by: jrh3 --- diff --git a/feature-eelf/src/main/feature/config/logback-eelf.xml b/feature-eelf/src/main/feature/config/logback-eelf.xml index 7c2725d8..d76eb20b 100644 --- a/feature-eelf/src/main/feature/config/logback-eelf.xml +++ b/feature-eelf/src/main/feature/config/logback-eelf.xml @@ -33,7 +33,7 @@ + value="%d{yyyy-MM-dd'T'HH:mm:ss.SSS+00:00, UTC}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{ErrorCategory}|%X{ErrorCode}|%X{ErrorDesciption}|%msg%replace(%xException){'\n',' - '}%nopex%n" /> @@ -142,7 +142,8 @@ ${logDirectory}/${networkLogName}.log - logs/network.log.%i.zip + ${logDirectory}/${networkLogName}.%i.log.zip + 1 5 @@ -178,6 +179,10 @@ + + + + diff --git a/feature-session-persistence/src/test/java/org/onap/policy/drools/persistence/JpaDroolsSessionConnectorTest.java b/feature-session-persistence/src/test/java/org/onap/policy/drools/persistence/JpaDroolsSessionConnectorTest.java index c16a1bbd..792e6f8b 100644 --- a/feature-session-persistence/src/test/java/org/onap/policy/drools/persistence/JpaDroolsSessionConnectorTest.java +++ b/feature-session-persistence/src/test/java/org/onap/policy/drools/persistence/JpaDroolsSessionConnectorTest.java @@ -22,12 +22,17 @@ package org.onap.policy.drools.persistence; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNull; +import static org.mockito.Matchers.any; +import static org.mockito.Mockito.doThrow; +import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.when; import java.util.HashMap; import java.util.Map; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; +import javax.persistence.EntityTransaction; import javax.persistence.Persistence; import org.junit.After; @@ -86,6 +91,45 @@ public class JpaDroolsSessionConnectorTest { assertEquals("{name=nameY, id=20}", conn.get("nameY").toString()); } + + @Test(expected = RuntimeException.class) + public void testGet_NewEx() { + EntityManagerFactory emf = mock(EntityManagerFactory.class); + EntityManager em = mock(EntityManager.class); + + when(emf.createEntityManager()).thenReturn(em); + when(em.getTransaction()).thenThrow(new RuntimeException("expected exception")); + + conn = new JpaDroolsSessionConnector(emf); + conn.get("xyz"); + } + + @Test(expected = RuntimeException.class) + public void testGet_FindEx() { + EntityManagerFactory emf = mock(EntityManagerFactory.class); + EntityManager em = mock(EntityManager.class); + EntityTransaction tr = mock(EntityTransaction.class); + + when(emf.createEntityManager()).thenReturn(em); + when(em.getTransaction()).thenReturn(tr); + when(em.find(any(), any())).thenThrow(new RuntimeException("expected exception")); + + new JpaDroolsSessionConnector(emf).get("xyz"); + } + + @Test(expected = RuntimeException.class) + public void testGet_FindEx_CloseEx() { + EntityManagerFactory emf = mock(EntityManagerFactory.class); + EntityManager em = mock(EntityManager.class); + EntityTransaction tr = mock(EntityTransaction.class); + + when(emf.createEntityManager()).thenReturn(em); + when(em.getTransaction()).thenReturn(tr); + when(em.find(any(), any())).thenThrow(new RuntimeException("expected exception")); + doThrow(new RuntimeException("expected exception #2")).when(em).close(); + + new JpaDroolsSessionConnector(emf).get("xyz"); + } @Test public void testReplace_Existing() { diff --git a/policy-endpoints/src/main/java/org/onap/policy/drools/http/server/internal/JettyServletServer.java b/policy-endpoints/src/main/java/org/onap/policy/drools/http/server/internal/JettyServletServer.java index 66261349..55d058f5 100644 --- a/policy-endpoints/src/main/java/org/onap/policy/drools/http/server/internal/JettyServletServer.java +++ b/policy-endpoints/src/main/java/org/onap/policy/drools/http/server/internal/JettyServletServer.java @@ -25,6 +25,7 @@ import org.eclipse.jetty.security.HashLoginService; import org.eclipse.jetty.security.authentication.BasicAuthenticator; import org.eclipse.jetty.server.Server; import org.eclipse.jetty.server.ServerConnector; +import org.eclipse.jetty.server.Slf4jRequestLog; import org.eclipse.jetty.servlet.ServletContextHandler; import org.eclipse.jetty.util.security.Constraint; import org.eclipse.jetty.util.security.Credential; @@ -134,6 +135,7 @@ public abstract class JettyServletServer implements HttpServletServer, Runnable this.context.setContextPath(contextPath); this.jettyServer = new Server(); + this.jettyServer.setRequestLog(new Slf4jRequestLog()); this.connector = new ServerConnector(this.jettyServer); this.connector.setName(name); diff --git a/policy-management/src/main/server/config/logback.xml b/policy-management/src/main/server/config/logback.xml index 53d73434..1801c43a 100644 --- a/policy-management/src/main/server/config/logback.xml +++ b/policy-management/src/main/server/config/logback.xml @@ -75,7 +75,7 @@ ${logDir}/${networkLog}.log - logs/network.log.%i.zip + ${logDir}/${networkLog}.%i.log.zip 1 9 @@ -94,6 +94,10 @@ + + + +