-
Epic
-
Resolution: Won't Do
-
Medium
-
None
-
Add AOP logging annotation support
Investigate Spring or AsjectJ oriented annotation of the code - an AOP design pattern
Problem description + sizing
- There is a perception (probably accurate) that there is a lot of code that was written within each component on top of EELF that could be factored out and turned into a common wrapper on top of EELF (or perhaps something added to EELF) and thus reduce the code base
- We want to be able to add functionality to logging without modifying each component, such as the ability to send certain messages over a more near-realtime mechanism such as a message bus; this could be done in a wrapper or in an additional appender
- We want to be able to easily support future changes such as new log message formats without changing all of the components; to at least some extent we already have this in slf4j/log4j/logback
- To the extent possible, adding logging to infrastructure would eliminate the need to have every developer concerned with correct logging; this could help especially in the area of inbound API calls (Jetty is used in all of the components except MSO which uses JBoss)
- Some desire to have format validation performed at runtime, flagging an error if the format of a particular MDC did not meet the specification
- It would be nice to verify that X-ONAP-Request-ID is being passed in and picked up where required; building this as an annotation would allow developers to put an annotation on a method that enforces that X-ONAP-Request-ID came in
- Need a migration strategy
- Story for spring wrapper or plain wrapper
Tasks
- Audit of the code (start with AAI abstract logger) - Logger references in babel, data-router, gizmo, model-loader, rest-client, router-core, search-data-service, sparky-be (not resources, traversal)
- Prototype changes in the aspect formula to change logging injection
- Transition plan for moving all or part of the code to the new format
- Audit of spring use in each project
Out of scope
DCAE is currently being migrated into OOM - we can push this work until later in R2
https://jira.onap.org/browse/OOM-565
https://jira.onap.org/browse/OOM-508
https://jira.onap.org/browse/LOG-48
Analysis
https://wiki.onap.org/display/DW/LOG+Meeting+Minutes+2017-11-07
- AOP annotation support for Logging - check for existing code and raise (custom EELF annotations on top of Spring ?)
- FYI so had a classloading conflict because of two different spring versions
https://gerrit.onap.org/r/#/c/23919/ for -------------SO-208 - Look also at zipkin distributed tracing via spring config and backend docker container
https://github.com/openzipkin/brave/tree/master/spring-beans
- is blocked by
-
LOG-154 Platform Maturity: Beijing required security badging procedure
- Closed
- is duplicated by
-
LOG-81 Introduce logging shared library in oparent to standardize logs across ONAP
- Closed
- relates to
-
LOG-111 Logging RI and examples
- Closed
- links to
- mentioned in
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
-
Page Loading...
- Wiki Page
-
Wiki Page Loading...
1.
|
Logging RI: Logging Library AOP Code | Closed | michaelobrien | |
2.
|
Add entry for this log4j aop wrapper in the manifest | Closed | pau2882 |