As a user of NGINX Ingress Controller, I would like to have an easier time searching for specific log events so that we can better understand the health of our system and do so in a more performant way
High-level Requirements
Update logging library from golang/glog to log/slog
Add flag to toggle between string and json log parser
Provide a means to use glog as the logging handler for backwards compatibility
Update 3.7.0 release documentation to announce update to log/slog
Definition of Done
Development
[x] Unit tests are written to cover functionality delivered in the story.
[x] Make sure that the unit test passes before creating a pull request.
[x] Make sure that the test coverage stays optimal.
[x] Run make lint locally before creating a PR.
[x] Remove CLI args used for configuring glog levels (eg: deployment.yaml)
Testing
[x] NIC starts and runs
[x] NIC starts and runs (with the service insight and healthcheck options enabled)
[ ] ~Automated tests are written as part of the story.~
[ ] ~Run “make lint-python“ from root~
[x] Acceptance criteria are met.
[x] Stories are demonstrated to the team.
[x] Product Manager accepts the story as done.
[x] If a feature requires changes/extensions of the Helm chart, those shall be done as part of the story.
Release Notes & Documentation
[x] PR is labeled appropriately so they display in GitHub release notes.
[x] Create/update documentation related to the user story.
[x] Create/update the example in our codebase when applicable.
### POC Tasks
- [x] POC - Toggle between string and json parser
- [x] POC - Toggle between glog parser and slog structure (string or json)
Overview
As a user of NGINX Ingress Controller, I would like to have an easier time searching for specific log events so that we can better understand the health of our system and do so in a more performant way
High-level Requirements
golang/glog
tolog/slog
string
andjson
log parserglog
as the logging handler for backwards compatibilitylog/slog
Definition of Done
Development
make lint
locally before creating a PR.glog
levels (eg:deployment.yaml
)Testing
service insight
andhealthcheck
options enabled)Release Notes & Documentation