aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael O'Brien <frank.obrien@amdocs.com>2018-06-25 13:59:31 -0400
committerMichael O'Brien <frank.obrien@amdocs.com>2018-07-10 23:45:29 -0400
commit9eee6ac9daa5b82946b4f7c7eaa817ae3e1f4cab (patch)
treec92bf95da779589a1162044b4f77a51876fccb7b
parent9aaa8f39949d7dc3d66888797951a20a7bced145 (diff)
logging library use and k8s
Change-Id: I264f6dd5270543a216612c50fd5806458e0e806a Issue-ID: LOG-135 Signed-off-by: Michael O'Brien <frank.obrien@amdocs.com>
-rw-r--r--pom.xml4
-rw-r--r--pylog/pom.xml3
-rw-r--r--reference/logging-demo/.classpath2
-rw-r--r--reference/logging-demo/pom.xml21
-rw-r--r--reference/logging-demo/src/main/java/org/onap/demo/logging/ApplicationService.java11
-rw-r--r--reference/logging-demo/src/main/java/org/onap/demo/logging/ApplicationServiceLocal.java4
-rw-r--r--reference/logging-demo/src/main/java/org/onap/demo/logging/LoggingAspect.java55
-rw-r--r--reference/logging-demo/src/main/java/org/onap/demo/logging/RestHealthServiceImpl.java8
-rw-r--r--reference/logging-demo/src/main/java/org/onap/demo/logging/RestServiceImpl.java25
-rw-r--r--reference/logging-demo/src/main/resources/logback.xml32
-rw-r--r--reference/logging-demo/src/main/webapp/WEB-INF/spring.xml5
-rw-r--r--reference/logging-demo/src/test/java/org/onap/logging/demo/ApplicationServiceTest.java45
-rw-r--r--reference/logging-docker-root/logging-docker-demo-service/DockerFile2
-rwxr-xr-xreference/logging-docker-root/logging-docker-demo-service/build.sh31
-rw-r--r--reference/logging-docker-root/logging-docker-demo/DockerFile2
-rwxr-xr-xreference/logging-docker-root/logging-docker-demo/build.sh27
-rw-r--r--reference/logging-docker-root/pom.xml2
-rw-r--r--reference/logging-kubernetes/logdemo/templates/all-services.yaml10
-rw-r--r--reference/logging-kubernetes/logdemo/templates/log-mock-service-deployment.yaml (renamed from reference/logging-kubernetes/logdemo/templates/log-mock-demo-deployment.yaml)22
-rw-r--r--reference/logging-kubernetes/logdemo/values.yaml2
-rw-r--r--reference/logging-kubernetes/logdemoservice/Chart.yaml4
-rw-r--r--reference/logging-kubernetes/logdemoservice/templates/all-services.yaml14
-rw-r--r--reference/logging-kubernetes/logdemoservice/templates/log-mock-demo-service-deployment.yaml57
-rw-r--r--reference/logging-kubernetes/logdemoservice/values.yaml7
-rw-r--r--reference/logging-kubernetes/pom.xml2
-rw-r--r--reference/logging-library/pom.xml7
-rw-r--r--reference/logging-mock-service/pom.xml10
-rw-r--r--reference/logging-slf4j-demo/pom.xml4
-rw-r--r--reference/logging-slf4j/pom.xml4
-rw-r--r--reference/logging-slf4j/src/main/java/org/onap/logging/ref/slf4j/ONAPLogAdapter.java3
-rw-r--r--reference/logging-slf4j/src/test/java/org/onap/logging/ref/slf4j/ONAPLogAdapterTest.java41
-rw-r--r--reference/pom.xml2
32 files changed, 410 insertions, 58 deletions
diff --git a/pom.xml b/pom.xml
index f17b3a8..ae7c781 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,12 +4,12 @@
<parent>
<groupId>org.onap.oparent</groupId>
<artifactId>oparent</artifactId>
- <version>1.1.2-SNAPSHOT</version>
+ <version>1.2.0-SNAPSHOT</version>
</parent>
<groupId>org.onap.logging-analytics</groupId>
<artifactId>logging-analytics</artifactId>
<packaging>pom</packaging>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.2-SNAPSHOT</version>
<name>logging-analytics</name>
<url>http://maven.apache.org</url>
<modules>
diff --git a/pylog/pom.xml b/pylog/pom.xml
index f316069..e4518ed 100644
--- a/pylog/pom.xml
+++ b/pylog/pom.xml
@@ -17,11 +17,10 @@
<parent>
<groupId>org.onap.logging-analytics</groupId>
<artifactId>logging-analytics</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.2-SNAPSHOT</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>logging-pylog</artifactId>
- <version>1.2.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>logging-pylog</name>
<description>onap python logging library</description>
diff --git a/reference/logging-demo/.classpath b/reference/logging-demo/.classpath
index 159bf9a..9a77030 100644
--- a/reference/logging-demo/.classpath
+++ b/reference/logging-demo/.classpath
@@ -1,6 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src/main/java"/>
+ <classpathentry kind="src" path="src/main/resources"/>
+ <classpathentry kind="src" path="src/test/java"/>
<classpathentry combineaccessrules="false" exported="true" kind="src" path="/logging-library">
<attributes>
<attribute name="module" value="true"/>
diff --git a/reference/logging-demo/pom.xml b/reference/logging-demo/pom.xml
index a695970..60fbe98 100644
--- a/reference/logging-demo/pom.xml
+++ b/reference/logging-demo/pom.xml
@@ -3,14 +3,15 @@
<parent>
<groupId>org.onap.logging-analytics</groupId>
<artifactId>logging-reference</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.2-SNAPSHOT</version>
</parent>
<artifactId>logging-demo</artifactId>
<packaging>war</packaging>
<name>logging-demo</name>
<properties>
<jackson-2-version>2.5.1</jackson-2-version>
- <spring.version>4.3.6.RELEASE</spring.version>
+ <spring.version>4.3.6.RELEASE</spring.version>
+ <logback.version>1.2.3</logback.version>
</properties>
<build>
<plugins>
@@ -71,12 +72,12 @@
<dependency>
<groupId>org.onap.logging-analytics</groupId>
<artifactId>logging-library</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.2-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.onap.logging-analytics</groupId>
<artifactId>logging-mock-service</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.2-SNAPSHOT</version>
</dependency>
@@ -252,6 +253,16 @@
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
- </dependency>
+ </dependency>
+ <dependency>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-core</artifactId>
+ <version>${logback.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>ch.qos.logback</groupId>
+ <artifactId>logback-classic</artifactId>
+ <version>${logback.version}</version>
+ </dependency>
</dependencies>
</project>
diff --git a/reference/logging-demo/src/main/java/org/onap/demo/logging/ApplicationService.java b/reference/logging-demo/src/main/java/org/onap/demo/logging/ApplicationService.java
index d0355df..d6329e2 100644
--- a/reference/logging-demo/src/main/java/org/onap/demo/logging/ApplicationService.java
+++ b/reference/logging-demo/src/main/java/org/onap/demo/logging/ApplicationService.java
@@ -20,14 +20,23 @@
*/
package org.onap.demo.logging;
+import javax.servlet.http.HttpServletRequest;
+
+import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
@Service("daoFacade")
+/**
+ * Run with http://localhost:8080/logging-demo/rest/health/health
+ *
+ */
public class ApplicationService implements ApplicationServiceLocal {
@Override
- public Boolean health() {
+ public Boolean health(HttpServletRequest servletRequest) {
Boolean health = true;
// TODO: check database
+ // Log outside the AOP framework - to simulate existing component logs between the ENTRY/EXIT markers
+ LoggerFactory.getLogger(this.getClass()).info("Running /health");
return health;
}
diff --git a/reference/logging-demo/src/main/java/org/onap/demo/logging/ApplicationServiceLocal.java b/reference/logging-demo/src/main/java/org/onap/demo/logging/ApplicationServiceLocal.java
index ac585fb..e2cd5b7 100644
--- a/reference/logging-demo/src/main/java/org/onap/demo/logging/ApplicationServiceLocal.java
+++ b/reference/logging-demo/src/main/java/org/onap/demo/logging/ApplicationServiceLocal.java
@@ -20,6 +20,8 @@
*/
package org.onap.demo.logging;
+import javax.servlet.http.HttpServletRequest;
+
public interface ApplicationServiceLocal {
- Boolean health();
+ Boolean health(HttpServletRequest request);
}
diff --git a/reference/logging-demo/src/main/java/org/onap/demo/logging/LoggingAspect.java b/reference/logging-demo/src/main/java/org/onap/demo/logging/LoggingAspect.java
new file mode 100644
index 0000000..2901ce1
--- /dev/null
+++ b/reference/logging-demo/src/main/java/org/onap/demo/logging/LoggingAspect.java
@@ -0,0 +1,55 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.logging
+ * ================================================================================
+ * Copyright © 2018 Amdocs
+ * All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.demo.logging;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.annotation.After;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Before;
+import org.onap.logging.ref.slf4j.ONAPLogAdapter;
+import org.slf4j.LoggerFactory;
+
+@Aspect
+public class LoggingAspect {
+
+ @Before("execution(* org.onap.demo.logging.*.*(..))")
+ public void logBefore(JoinPoint joinPoint) {
+ Object[] args = joinPoint.getArgs();
+ Object servletRequest = args[0];
+ ONAPLogAdapter.HttpServletRequestAdapter requestAdapter =
+ new ONAPLogAdapter.HttpServletRequestAdapter((HttpServletRequest)servletRequest);
+ final ONAPLogAdapter adapter = new ONAPLogAdapter(
+ LoggerFactory.getLogger(joinPoint.getTarget().getClass()));
+ try {
+ adapter.entering(requestAdapter);
+ } finally {
+ }
+ }
+
+ @After("execution(* org.onap.demo.logging.*.*(..))")
+ public void logAfter(JoinPoint joinPoint) {
+ final ONAPLogAdapter adapter = new ONAPLogAdapter(
+ LoggerFactory.getLogger(joinPoint.getTarget().getClass()));
+ adapter.exiting();
+ }
+}
diff --git a/reference/logging-demo/src/main/java/org/onap/demo/logging/RestHealthServiceImpl.java b/reference/logging-demo/src/main/java/org/onap/demo/logging/RestHealthServiceImpl.java
index 33e3874..bcc4efb 100644
--- a/reference/logging-demo/src/main/java/org/onap/demo/logging/RestHealthServiceImpl.java
+++ b/reference/logging-demo/src/main/java/org/onap/demo/logging/RestHealthServiceImpl.java
@@ -21,16 +21,21 @@
package org.onap.demo.logging;
import javax.inject.Inject;
+import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Application;
+import javax.ws.rs.core.Context;
import javax.ws.rs.core.MediaType;
import org.springframework.beans.factory.annotation.Qualifier;
@Path("/health")
public class RestHealthServiceImpl extends Application {
+
+ @Context private HttpServletRequest servletRequest;
+
@Inject
@Qualifier("daoFacade")
private ApplicationServiceLocal applicationServiceLocal;
@@ -39,7 +44,8 @@ public class RestHealthServiceImpl extends Application {
@Path("/health")
@Produces(MediaType.TEXT_HTML)
public String getHealth() {
- return applicationServiceLocal.health().toString();
+
+ return applicationServiceLocal.health(servletRequest).toString();
}
}
diff --git a/reference/logging-demo/src/main/java/org/onap/demo/logging/RestServiceImpl.java b/reference/logging-demo/src/main/java/org/onap/demo/logging/RestServiceImpl.java
index 9dfe884..fe13f0c 100644
--- a/reference/logging-demo/src/main/java/org/onap/demo/logging/RestServiceImpl.java
+++ b/reference/logging-demo/src/main/java/org/onap/demo/logging/RestServiceImpl.java
@@ -31,19 +31,20 @@ import org.springframework.beans.factory.annotation.Qualifier;
@Path("/read")
public class RestServiceImpl extends Application {
- @Inject
- @Qualifier("daoFacade")
+ @Inject
+ @Qualifier("daoFacade")
private ApplicationServiceLocal applicationServiceLocal;
-
- @GET
- @Path("/test")
- @Produces(MediaType.TEXT_HTML)
- public String getTest() {
- return "testing: " + applicationServiceLocal;
- }
- private ApplicationServiceLocal getApplicationService() {
- return applicationServiceLocal;
- }
+ @GET
+ @Path("/test")
+ @Produces(MediaType.TEXT_HTML)
+ public String getTest() {
+ return "testing: " + applicationServiceLocal;
+
+ }
+
+ private ApplicationServiceLocal getApplicationService() {
+ return applicationServiceLocal;
+ }
}
diff --git a/reference/logging-demo/src/main/resources/logback.xml b/reference/logging-demo/src/main/resources/logback.xml
new file mode 100644
index 0000000..71d41e4
--- /dev/null
+++ b/reference/logging-demo/src/main/resources/logback.xml
@@ -0,0 +1,32 @@
+<configuration>
+ <property name="p_tim" value="%d{&quot;yyyy-MM-dd'T'HH:mm:ss.SSSXXX&quot;, UTC}"/>
+ <property name="p_lvl" value="%level"/>
+ <property name="p_log" value="%logger"/>
+ <property name="p_mdc" value="%replace(%replace(%mdc){'\t','\\\\t'}){'\n', '\\\\n'}"/>
+ <property name="p_msg" value="%replace(%replace(%msg){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+ <property name="p_exc" value="%replace(%replace(%rootException){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+ <property name="p_mak" value="%replace(%replace(%marker){'\t', '\\\\t'}){'\n','\\\\n'}"/>
+ <property name="p_thr" value="%thread"/>
+ <property name="pattern" value="%nopexception${p_tim}\t${p_thr}\t${p_lvl}\t${p_log}\t${p_mdc}\t${p_msg}\t${p_exc}\t${p_mak}\t%n"/>
+ <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+
+ <appender name="FILE" class="ch.qos.logback.core.FileAppender">
+ <file>output.log</file>
+ <encoder>
+ <pattern>${pattern}</pattern>
+ </encoder>
+ </appender>
+
+ <logger level="INFO" name="org.onap.logging.ref.slf4j" additivity="false">
+ <appender-ref ref="STDOUT" />
+ <appender-ref ref="FILE" />
+ </logger>
+
+ <root level="INFO">
+ <appender-ref ref="STDOUT" />
+ </root>
+</configuration>
diff --git a/reference/logging-demo/src/main/webapp/WEB-INF/spring.xml b/reference/logging-demo/src/main/webapp/WEB-INF/spring.xml
index 32d1235..2b4d585 100644
--- a/reference/logging-demo/src/main/webapp/WEB-INF/spring.xml
+++ b/reference/logging-demo/src/main/webapp/WEB-INF/spring.xml
@@ -34,6 +34,11 @@
</context:component-scan>
<!-- Rest controllers -->
<context:component-scan base-package="org.onap.demo.logging" />
+ <!-- enable logging AOP proxies -->
+ <aop:aspectj-autoproxy />
+ <beans>
+ <bean class="org.onap.demo.logging.LoggingAspect" /> <!-- required even though we annotate with @Aspect -->
+ </beans>
</beans>
diff --git a/reference/logging-demo/src/test/java/org/onap/logging/demo/ApplicationServiceTest.java b/reference/logging-demo/src/test/java/org/onap/logging/demo/ApplicationServiceTest.java
new file mode 100644
index 0000000..aab2ba7
--- /dev/null
+++ b/reference/logging-demo/src/test/java/org/onap/logging/demo/ApplicationServiceTest.java
@@ -0,0 +1,45 @@
+/**
+ * ============LICENSE_START=======================================================
+ * org.onap.logging
+ * ================================================================================
+ * Copyright © 2018 Amdocs
+ * All rights reserved.
+ * ================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+package org.onap.logging.demo;
+
+import static org.junit.Assert.*;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.junit.Test;
+import org.onap.demo.logging.ApplicationService;
+import org.springframework.mock.web.MockHttpServletRequest;
+import org.springframework.util.Assert;
+
+public class ApplicationServiceTest {
+
+ @Test
+ public final void testHealth() {
+ ApplicationService service = new ApplicationService();
+ Assert.notNull(service);
+ HttpServletRequest servletRequest = new MockHttpServletRequest();
+ Assert.notNull(servletRequest);
+ boolean health = service.health(servletRequest);
+ Assert.isTrue(health);
+ System.out.println("health : " + health);
+ }
+
+}
diff --git a/reference/logging-docker-root/logging-docker-demo-service/DockerFile b/reference/logging-docker-root/logging-docker-demo-service/DockerFile
new file mode 100644
index 0000000..bb9a7cf
--- /dev/null
+++ b/reference/logging-docker-root/logging-docker-demo-service/DockerFile
@@ -0,0 +1,2 @@
+FROM tomcat:8.0.48-jre8
+COPY target/logging-demo-*-SNAPSHOT.war /usr/local/tomcat/webapps/logging-demo.war
diff --git a/reference/logging-docker-root/logging-docker-demo-service/build.sh b/reference/logging-docker-root/logging-docker-demo-service/build.sh
new file mode 100755
index 0000000..247b1ee
--- /dev/null
+++ b/reference/logging-docker-root/logging-docker-demo-service/build.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+#############################################################################
+#
+# Copyright © 2018 Amdocs.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#############################################################################
+# v20180625
+# https://wiki.onap.org/display/DW/Cloud+Native+Deployment
+# source from https://jira.onap.org/browse/LOG-135
+# Michael O'Brien
+
+mkdir target
+# reuse the same war for the service pods
+cp ../../logging-demo/target/*.war target
+docker build -t oomk8s/logging-demo-service -f DockerFile .
+docker images | grep logging-demo-service
+docker tag oomk8s/logging-demo-service oomk8s/logging-demo-service:0.0.3
+docker login
+docker push oomk8s/logging-demo-service:0.0.3
+#docker run -d -it --rm -p 8888:8080 oomk8s/logging-demo-service:latest
diff --git a/reference/logging-docker-root/logging-docker-demo/DockerFile b/reference/logging-docker-root/logging-docker-demo/DockerFile
index b3d68f0..bb9a7cf 100644
--- a/reference/logging-docker-root/logging-docker-demo/DockerFile
+++ b/reference/logging-docker-root/logging-docker-demo/DockerFile
@@ -1,2 +1,2 @@
FROM tomcat:8.0.48-jre8
-COPY target/logging-demo-1.2.0-SNAPSHOT.war /usr/local/tomcat/webapps/logging-demo.war
+COPY target/logging-demo-*-SNAPSHOT.war /usr/local/tomcat/webapps/logging-demo.war
diff --git a/reference/logging-docker-root/logging-docker-demo/build.sh b/reference/logging-docker-root/logging-docker-demo/build.sh
index d2e0ea2..491c64c 100755
--- a/reference/logging-docker-root/logging-docker-demo/build.sh
+++ b/reference/logging-docker-root/logging-docker-demo/build.sh
@@ -1,8 +1,31 @@
+#!/bin/bash
+#############################################################################
+#
+# Copyright © 2018 Amdocs.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+#############################################################################
+# v20180625
+# https://wiki.onap.org/display/DW/Cloud+Native+Deployment
+# source from https://jira.onap.org/browse/LOG-135
+# Michael O'Brien
+
+
mkdir target
cp ../../logging-demo/target/*.war target
docker build -t oomk8s/logging-demo-nbi -f DockerFile .
docker images | grep logging-demo-nbi
-docker tag oomk8s/logging-demo-nbi oomk8s/logging-demo-nbi:0.0.1
+docker tag oomk8s/logging-demo-nbi oomk8s/logging-demo-nbi:0.0.3
docker login
-docker push oomk8s/logging-demo-nbi:0.0.1
+docker push oomk8s/logging-demo-nbi:0.0.3
#docker run -d -it --rm -p 8888:8080 oomk8s/logging-demo-nbi:latest
diff --git a/reference/logging-docker-root/pom.xml b/reference/logging-docker-root/pom.xml
index 771856e..42239a6 100644
--- a/reference/logging-docker-root/pom.xml
+++ b/reference/logging-docker-root/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>org.onap.logging-analytics</groupId>
<artifactId>logging-reference</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.2-SNAPSHOT</version>
</parent>
<artifactId>logging-docker-root</artifactId>
<packaging>pom</packaging>
diff --git a/reference/logging-kubernetes/logdemo/templates/all-services.yaml b/reference/logging-kubernetes/logdemo/templates/all-services.yaml
index 9e4f694..dc57183 100644
--- a/reference/logging-kubernetes/logdemo/templates/all-services.yaml
+++ b/reference/logging-kubernetes/logdemo/templates/all-services.yaml
@@ -2,13 +2,13 @@ apiVersion: v1
kind: Service
metadata:
labels:
- app: logdemo
- name: logdemo
- namespace: "{{ .Values.nsPrefix }}-logdemo"
+ app: logservice
+ name: logservice
+ namespace: "{{ .Values.nsPrefix }}-logservice"
spec:
ports:
- port: 8080
- nodePort: {{ .Values.nodePortPrefix }}99
+ nodePort: {{ .Values.nodePortPrefix }}98
selector:
- app: logdemo
+ app: logservice
type: NodePort
diff --git a/reference/logging-kubernetes/logdemo/templates/log-mock-demo-deployment.yaml b/reference/logging-kubernetes/logdemo/templates/log-mock-service-deployment.yaml
index afd513e..92bcbe8 100644
--- a/reference/logging-kubernetes/logdemo/templates/log-mock-demo-deployment.yaml
+++ b/reference/logging-kubernetes/logdemo/templates/log-mock-service-deployment.yaml
@@ -1,28 +1,28 @@
-#{{ if not .Values.disableLogdemoLogdemo }}
+#{{ if not .Values.disableLogserviceLogservice }}
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
- name: logdemo
- namespace: "{{ .Values.nsPrefix }}-logdemo"
+ name: logservice
+ namespace: "{{ .Values.nsPrefix }}-logservice"
spec:
selector:
matchLabels:
- app: logdemo
+ app: logservice
template:
metadata:
labels:
- app: logdemo
- name: logdemo
+ app: logservice
+ name: logservice
spec:
containers:
- - image: {{ .Values.image.logdemo }}
+ - image: {{ .Values.image.logservice }}
imagePullPolicy: {{ .Values.pullPolicy }}
- name: logdemo
+ name: logservice
volumeMounts:
- name: localtime
mountPath: /etc/localtime
readOnly: true
- - name: logdemo-eteshare
+ - name: logservice-eteshare
mountPath: /share
ports:
- containerPort: 8080
@@ -35,9 +35,9 @@ spec:
- name: localtime
hostPath:
path: /etc/localtime
- - name: logdemo-eteshare
+ - name: logservice-eteshare
hostPath:
- path: /dockerdata-nfs/{{ .Values.nsPrefix }}/logdemo/eteshare
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/logservice/eteshare
imagePullSecrets:
- name: "{{ .Values.nsPrefix }}-docker-registry-key"
#{{ end }}
diff --git a/reference/logging-kubernetes/logdemo/values.yaml b/reference/logging-kubernetes/logdemo/values.yaml
index 53e3fc6..a13dbe3 100644
--- a/reference/logging-kubernetes/logdemo/values.yaml
+++ b/reference/logging-kubernetes/logdemo/values.yaml
@@ -3,5 +3,5 @@ pullPolicy: Always
nodePortPrefix: 302
image:
readiness: oomk8s/readiness-check:1.0.0
- logdemo: oomk8s/logging-demo-nbi:0.0.1
+ logdemo: oomk8s/logging-demo-nbi:0.0.2
filebeat: docker.elastic.co/beats/filebeat:5.5.0
diff --git a/reference/logging-kubernetes/logdemoservice/Chart.yaml b/reference/logging-kubernetes/logdemoservice/Chart.yaml
new file mode 100644
index 0000000..b9eed13
--- /dev/null
+++ b/reference/logging-kubernetes/logdemoservice/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: A Helm chart for Kubernetes
+name: logdemoservice
+version: 0.1.0
diff --git a/reference/logging-kubernetes/logdemoservice/templates/all-services.yaml b/reference/logging-kubernetes/logdemoservice/templates/all-services.yaml
new file mode 100644
index 0000000..10b7109
--- /dev/null
+++ b/reference/logging-kubernetes/logdemoservice/templates/all-services.yaml
@@ -0,0 +1,14 @@
+apiVersion: v1
+kind: Service
+metadata:
+ labels:
+ app: logdemoservice
+ name: logdemoservice
+ namespace: "{{ .Values.nsPrefix }}-logdemoservice"
+spec:
+ ports:
+ - port: 8080
+ nodePort: {{ .Values.nodePortPrefix }}98
+ selector:
+ app: logdemoservice
+ type: NodePort
diff --git a/reference/logging-kubernetes/logdemoservice/templates/log-mock-demo-service-deployment.yaml b/reference/logging-kubernetes/logdemoservice/templates/log-mock-demo-service-deployment.yaml
new file mode 100644
index 0000000..f40da2f
--- /dev/null
+++ b/reference/logging-kubernetes/logdemoservice/templates/log-mock-demo-service-deployment.yaml
@@ -0,0 +1,57 @@
+#{{ if not .Values.disableLogdemoserviceLogdemoservice }}
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+ name: logdemoservice
+ namespace: "{{ .Values.nsPrefix }}-logdemoservice"
+spec:
+ selector:
+ matchLabels:
+ app: logdemoservice
+ template:
+ metadata:
+ labels:
+ app: logdemoservice
+ name: logdemoservice
+ spec:
+ containers:
+ - image: {{ .Values.image.logdemoservice }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ name: logdemoservice
+ volumeMounts:
+ - mountPath: /var/log/onap
+ name: log-mock-demo-service-logs
+ ports:
+ - containerPort: 8080
+ readinessProbe:
+ tcpSocket:
+ port: 8080
+ initialDelaySeconds: 5
+ periodSeconds: 10
+ - image: {{ .Values.image.filebeat }}
+ imagePullPolicy: {{ .Values.pullPolicy }}
+ name: filebeat-onap
+ volumeMounts:
+ - mountPath: /usr/share/filebeat/filebeat.yml
+ name: filebeat-conf
+ - mountPath: /var/log/onap
+ name: log-mock-demo-service-logs
+ - mountPath: /usr/share/filebeat/data
+ name: log-mock-demo-service-data-filebeat
+ volumes:
+ - name: filebeat-conf
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/log/filebeat/logback/filebeat.yml
+ - name: log-mock-demo-service-logs
+ emptyDir: {}
+ - name: log-mock-demo-service-data-filebeat
+ emptyDir: {}
+ - name: localtime
+ hostPath:
+ path: /etc/localtime
+ - name: logdemoservice-eteshare
+ hostPath:
+ path: /dockerdata-nfs/{{ .Values.nsPrefix }}/logdemoservice/eteshare
+ imagePullSecrets:
+ - name: "{{ .Values.nsPrefix }}-docker-registry-key"
+#{{ end }}
diff --git a/reference/logging-kubernetes/logdemoservice/values.yaml b/reference/logging-kubernetes/logdemoservice/values.yaml
new file mode 100644
index 0000000..3b89a4b
--- /dev/null
+++ b/reference/logging-kubernetes/logdemoservice/values.yaml
@@ -0,0 +1,7 @@
+nsPrefix: onap
+pullPolicy: Always
+nodePortPrefix: 302
+image:
+ readiness: oomk8s/readiness-check:1.0.0
+ logdemoservice: oomk8s/logging-demo-service:0.0.1
+ filebeat: docker.elastic.co/beats/filebeat:5.5.0
diff --git a/reference/logging-kubernetes/pom.xml b/reference/logging-kubernetes/pom.xml
index 6f32c54..1042811 100644
--- a/reference/logging-kubernetes/pom.xml
+++ b/reference/logging-kubernetes/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>org.onap.logging-analytics</groupId>
<artifactId>logging-reference</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.2-SNAPSHOT</version>
</parent>
<artifactId>logging-kubernetes</artifactId>
<packaging>pom</packaging>
diff --git a/reference/logging-library/pom.xml b/reference/logging-library/pom.xml
index 74e3a7c..ed07037 100644
--- a/reference/logging-library/pom.xml
+++ b/reference/logging-library/pom.xml
@@ -3,7 +3,7 @@
<parent>
<groupId>org.onap.logging-analytics</groupId>
<artifactId>logging-reference</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.2-SNAPSHOT</version>
</parent>
<artifactId>logging-library</artifactId>
@@ -60,5 +60,10 @@
<properties>
</properties>
<dependencies>
+ <dependency>
+ <groupId>org.onap.logging-analytics</groupId>
+ <artifactId>logging-slf4j</artifactId>
+ <version>1.2.2-SNAPSHOT</version>
+ </dependency>
</dependencies>
</project>
diff --git a/reference/logging-mock-service/pom.xml b/reference/logging-mock-service/pom.xml
index 7777b5a..f6264b1 100644
--- a/reference/logging-mock-service/pom.xml
+++ b/reference/logging-mock-service/pom.xml
@@ -3,7 +3,7 @@
<parent>
<groupId>org.onap.logging-analytics</groupId>
<artifactId>logging-reference</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.2-SNAPSHOT</version>
</parent>
<artifactId>logging-mock-service</artifactId>
<packaging>jar</packaging>
@@ -62,8 +62,12 @@
<dependency>
<groupId>org.onap.logging-analytics</groupId>
<artifactId>logging-library</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.2-SNAPSHOT</version>
+ </dependency>
+ <dependency>
+ <groupId>org.onap.logging-analytics</groupId>
+ <artifactId>logging-slf4j</artifactId>
+ <version>1.2.2-SNAPSHOT</version>
</dependency>
</dependencies>
-
</project>
diff --git a/reference/logging-slf4j-demo/pom.xml b/reference/logging-slf4j-demo/pom.xml
index c4542b3..8565948 100644
--- a/reference/logging-slf4j-demo/pom.xml
+++ b/reference/logging-slf4j-demo/pom.xml
@@ -3,14 +3,12 @@
<parent>
<groupId>org.onap.logging-analytics</groupId>
<artifactId>logging-reference</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.2-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<artifactId>logging-slf4j-demo</artifactId>
<name>logging-slf4j-demo</name>
<packaging>war</packaging>
- <version>1.2.0-SNAPSHOT</version>
-
<properties>
<springframework.boot.version>1.5.10.RELEASE</springframework.boot.version>
</properties>
diff --git a/reference/logging-slf4j/pom.xml b/reference/logging-slf4j/pom.xml
index 9cc9d4b..138f7de 100644
--- a/reference/logging-slf4j/pom.xml
+++ b/reference/logging-slf4j/pom.xml
@@ -3,14 +3,12 @@
<parent>
<groupId>org.onap.logging-analytics</groupId>
<artifactId>logging-reference</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.2-SNAPSHOT</version>
<relativePath>..</relativePath>
</parent>
<artifactId>logging-slf4j</artifactId>
<name>logging-slf4j</name>
<packaging>jar</packaging>
- <version>1.2.0-SNAPSHOT</version>
-
<dependencies>
<!-- Exported dependencies. -->
<dependency>
diff --git a/reference/logging-slf4j/src/main/java/org/onap/logging/ref/slf4j/ONAPLogAdapter.java b/reference/logging-slf4j/src/main/java/org/onap/logging/ref/slf4j/ONAPLogAdapter.java
index d26cd13..aafc74d 100644
--- a/reference/logging-slf4j/src/main/java/org/onap/logging/ref/slf4j/ONAPLogAdapter.java
+++ b/reference/logging-slf4j/src/main/java/org/onap/logging/ref/slf4j/ONAPLogAdapter.java
@@ -333,7 +333,8 @@ public class ONAPLogAdapter {
// Default the service name to the requestURI, in the event that
// no value has been provided.
- if (MDC.get(ONAPLogConstants.MDCs.SERVICE_NAME) == null) {
+ if (MDC.get(ONAPLogConstants.MDCs.SERVICE_NAME) == null ||
+ MDC.get(ONAPLogConstants.MDCs.SERVICE_NAME).equalsIgnoreCase(EMPTY_MESSAGE)) {
MDC.put(ONAPLogConstants.MDCs.SERVICE_NAME, request.getRequestURI());
}
diff --git a/reference/logging-slf4j/src/test/java/org/onap/logging/ref/slf4j/ONAPLogAdapterTest.java b/reference/logging-slf4j/src/test/java/org/onap/logging/ref/slf4j/ONAPLogAdapterTest.java
index b14df9f..1d11bd3 100644
--- a/reference/logging-slf4j/src/test/java/org/onap/logging/ref/slf4j/ONAPLogAdapterTest.java
+++ b/reference/logging-slf4j/src/test/java/org/onap/logging/ref/slf4j/ONAPLogAdapterTest.java
@@ -166,6 +166,47 @@ public class ONAPLogAdapterTest {
MDC.clear();
}
}
+
+ /**
+ * Test ENTERING with an EMPTY_STRING serviceName.
+ */
+ @Test
+ public void testEnteringWithEMPTY_STRING_serviceName() {
+
+ final Logger logger = LoggerFactory.getLogger(this.getClass());
+ final ONAPLogAdapter adapter = new ONAPLogAdapter(logger);
+ final MockHttpServletRequest http = new MockHttpServletRequest();
+ http.setRequestURI("uri123");
+ http.setServerName("local123");
+ http.setRemoteAddr("remote123");
+ http.addHeader("X-ONAP-RequestID", "request123");
+ http.addHeader("X-ONAP-InvocationID", "invocation123");
+ http.addHeader("X-ONAP-PartnerName", "partner123");
+
+ try {
+ // an empty string should kick in setting the actual service name (treated same as null)
+ adapter.getServiceDescriptor().setServiceName("");
+ adapter.entering(http);
+ final Map<String, String> mdcs = MDC.getCopyOfContextMap();
+ assertThat(mdcs.get("RequestID"), is("request123"));
+ assertThat(mdcs.get("InvocationID"), is("invocation123"));
+ assertThat(mdcs.get("PartnerName"), is("partner123"));
+ assertThat(mdcs.get("ServiceName"), is("uri123"));
+ assertThat(mdcs.get("ServerFQDN"), is("local123"));
+ assertThat(mdcs.get("ClientIPAddress"), is("remote123"));
+
+ // Timestamp format and value:
+
+ final String invokeTimestampString = mdcs.get("InvokeTimestamp");
+ assertThat(invokeTimestampString, notNullValue());
+ assertThat(invokeTimestampString, endsWith("Z"));
+ final long invokeTimestamp = DatatypeConverter.parseDateTime(invokeTimestampString).getTimeInMillis();
+ assertThat(Math.abs(System.currentTimeMillis() - invokeTimestamp), lessThan(5000L));
+ }
+ finally {
+ MDC.clear();
+ }
+ }
@Test
public void testSetServiceDescriptor() {
diff --git a/reference/pom.xml b/reference/pom.xml
index 7bb5f64..0844c9a 100644
--- a/reference/pom.xml
+++ b/reference/pom.xml
@@ -4,7 +4,7 @@
<parent>
<groupId>org.onap.logging-analytics</groupId>
<artifactId>logging-analytics</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.2-SNAPSHOT</version>
</parent>
<artifactId>logging-reference</artifactId>
<packaging>pom</packaging>