...
There are developer details on using the libraries (pom.xml edits, spring AOP additions) and how to deploy the logdemo pod alongside onap that demos using the libraries
https://wikilf-onap.onapatlassian.orgnet/wiki/pages/viewpage.action?pageId=28378955#ONAPApplicationLoggingSpecificationv116278511#ONAPApplicationLoggingSpecificationv1.2(Casablanca)-DeveloperGuide
The code is ready for use as we finish the library (java is most up to date for now, python is in progress)
...
Code Block | ||||
---|---|---|---|---|
| ||||
package org.onap.demo.logging; import javax.servlet.http.HttpServletRequest; import org.aspectj.lang.JoinPoint; 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(); } |
Logging Demo REST API
Code Block | ||
---|---|---|
| ||
curl http://dev.onap.info:30453/logging-demo/rest/health/health |
Logging Results
Use Case: Single REST call - with ENTRY/EXIT Markers around in-method log
The key here is that you get logs for free - the entry/exit lines are generated - the line in the middle is from java application code
Code Block | ||||
---|---|---|---|---|
| ||||
results - still working on passing in the servlet request INFO: Reloading Context with name [/logging-demo] is completed 2018-07-09T14:48:01.014Z http-nio-8080-exec-8 INFO org.onap.demo.logging.ApplicationService InstanceUUID=67bc4b12-56a1-4b62-ab78-0c8ca8834383, RequestID=023af35a-b281-49c4-bf13-5167b1453780, ServiceName=/logging-demo/rest/health/health, InvocationID=94dc9e24-3722-43e5-8995-12f95e153ca3, InvokeTimestamp=2018-07-09T14:48:01.008Z, PartnerName=, ClientIPAddress=0:0:0:0:0:0:0:1, ServerFQDN=localhost ENTRY 2018-07-09T14:48:01.014Z http-nio-8080-exec-8 INFO org.onap.demo.logging.ApplicationService InstanceUUID=67bc4b12-56a1-4b62-ab78-0c8ca8834383, RequestID=023af35a-b281-49c4-bf13-5167b1453780, ServiceName=/logging-demo/rest/health/health, InvocationID=94dc9e24-3722-43e5-8995-12f95e153ca3, InvokeTimestamp=2018-07-09T14:48:01.008Z, PartnerName=, ClientIPAddress=0:0:0:0:0:0:0:1, ServerFQDN=localhost Running /health 2018-07-09T14:48:01.015Z http-nio-8080-exec-8 INFO org.onap.demo.logging.ApplicationService ResponseCode=, InstanceUUID=67bc4b12-56a1-4b62-ab78-0c8ca8834383, RequestID=023af35a-b281-49c4-bf13-5167b1453780, ServiceName=/logging-demo/rest/health/health, ResponseDescription=, InvocationID=94dc9e24-3722-43e5-8995-12f95e153ca3, Severity=, InvokeTimestamp=2018-07-09T14:48:01.008Z, PartnerName=, ClientIPAddress=0:0:0:0:0:0:0:1, ServerFQDN=localhost, StatusCode= EXIT |
...
ELK Configuration
Logstash
Grok
Jira Legacy | ||||||
---|---|---|---|---|---|---|
|
ElasticSearch
Kibana
Design Issues
...