This place is to document the development of the Python POC for Security Logging.
Tentative Plan to develop Python POC
- Create a new repository for Python Logging Library
- You should create a ticket on LF IT Jira to create a new repository Project Support Services | Help Center (linuxfoundation.org)
- Create a Security Logging Python library and commit to an ONAP gerrit repository
- Make the it available to install using pip from ONAP’s nexus
- I don’t know any working example of using ONAP nexus as a pip index, but for sure LF can also support on that.
- Integration Team (PTL Michal) will create a version of base Python image with Logging Python Library
- DCAE Team (PTL Vijay and Tony Hansen) will provide DCAE Integration Validation
Technical Approach
- Most fields from Jakarta Best Practice Proposal for Standardized Logging Fields - v2 - Developer Wiki - Confluence (onap.org) page can be configured using Python logging standard library (some fields are already defined logging — Logging facility for Python — Python 3.10.7 documentation), the rest is to create a proper configuration that could be reused by all projects (the question is if that should be done by some package or kept in one place in wiki or something).
- Configuration could be a part of ONAP Python base image and developers can only load it from a file stored on container, that is explained there Logging HOWTO — Python 3.10.7 documentation. That would be the easiest part but… we are going to have some custom fields on record so looks like we have to define our own logging — Logging facility for Python — Python 3.10.7 documentation LogRecord class. So probably the best way is to create a package with that and install it on all base containers, so developers could import it. But maybe others has some ideas.
- https://docs.python.org/3.10/howto/logging.html#configuring-logging
- https://docs.python.org/3/library/logging.html#logrecord-attributes
ONAP Related Resources