ai-cfia / membrane-backend

Membrane Backend: A centralized authentication service for Single Sign-On (SSO) enabling seamless token-based email verification across multiple client applications.
MIT License
1 stars 0 forks source link

Implement a standard logging system #58

Open k-allagbe opened 11 months ago

k-allagbe commented 11 months ago

Currently the project doesn't have a standard way to log events.

ThomasCardin commented 7 months ago

Hello, we will use this. https://opentelemetry.io/docs/instrumentation/python/ via the automated solution https://opentelemetry.io/docs/instrumentation/python/automatic/, you can see a example of the automatic solution here https://opentelemetry.io/docs/instrumentation/python/automatic/example/

k-allagbe commented 7 months ago

Hello, we will use this. https://opentelemetry.io/docs/instrumentation/python/ via the automated solution https://opentelemetry.io/docs/instrumentation/python/automatic/, you can see a example of the automatic solution here https://opentelemetry.io/docs/instrumentation/python/automatic/example/

So we only have to print anything we want to log?

rngadam commented 7 months ago

Hello, we will use this. https://opentelemetry.io/docs/instrumentation/python/ via the automated solution https://opentelemetry.io/docs/instrumentation/python/automatic/, you can see a example of the automatic solution here https://opentelemetry.io/docs/instrumentation/python/automatic/example/

So we only have to print anything we want to log?

No. OpenTelemetry is a complement to logging and a layer above to allow observing our systems as systems:

https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/logging/logging.html

...which allows us to centralize and trace requests from frontend to database (with logs)

note that'd we'd need support to psycopg3:

https://github.com/open-telemetry/opentelemetry-python-contrib/issues/1751

there's support for flask:

https://opentelemetry-python-contrib.readthedocs.io/en/latest/instrumentation/flask/flask.html

as well as react:

https://developers.redhat.com/articles/2023/03/22/how-enable-opentelemetry-traces-react-applications#

as well as Azure:

https://learn.microsoft.com/en-us/azure/azure-monitor/app/opentelemetry-configuration?tabs=python

Microsoft is among the largest contributors to OpenTelemetry.

The key value propositions of OpenTelemetry are that it's vendor-neutral and provides consistent APIs/SDKs across languages.

Over time, we believe OpenTelemetry will enable Azure Monitor customers to observe applications written in languages beyond our supported languages. It also expands the types of data you can collect through a rich set of instrumentation libraries. Furthermore, OpenTelemetry SDKs tend to be more performant at scale than their predecessors, the Application Insights SDKs.

Finally, OpenTelemetry aligns with Microsoft's strategy to embrace open source.