Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

One Logging Bridge per language #1970

Closed
10 of 11 tasks
jpkrohling opened this issue Jan 15, 2024 · 17 comments
Closed
10 of 11 tasks

One Logging Bridge per language #1970

jpkrohling opened this issue Jan 15, 2024 · 17 comments
Assignees
Labels

Comments

@jpkrohling
Copy link
Member

jpkrohling commented Jan 15, 2024

Description

During the joint TC/GC call on Jan 11, we agreed on a few items we'd like to accomplish this year. One such item was creating at least one logging bridge per Language SIG, so that our end-users can start using OTLP Logging natively on their applications.

We'll strive to get at least one logging bridge for each supported language. Language SIGs will be free to decide which bridge to implement based on the needs of their audiences.

Project Board

To be created.

Deliverables

For each one of the following languages, there should be at least one logging bridge available, either as part of their core repository or as part of their contrib repository. Usage of such bridge should be documented on opentelemetry.io's website.

Languages (100% of the languages available when this issue was created):

Staffing / Help Wanted

We anticipate that Language SIG maintainers will share the vision that having at least one bridge, hopefully for the most used logging API for the language, is important for the SIG, and therefore, we don't anticipate new staffing requirements. However, we'll try to recruit new contributors to work on this once we have a few examples to follow.

Required staffing

@jpkrohling is the sponsor for this project and will work with the individual Language SIGs to implement this.

Meeting Times

We'll use the regular Language SIGs meetings, as well as the maintainer's meeting on Monday.

Timeline

We aim to complete this project by the end of 2024.

@jpkrohling
Copy link
Member Author

@arminru, could you please assign this to me and add the required labels, so that it appears on the board?

https://github.com/orgs/open-telemetry/projects/29/views/1

@fendrifirasleminnov
Copy link

fendrifirasleminnov commented Jan 15, 2024

@fendrifirasleminnov volunteering to help on this Topic.

@pellared
Copy link
Member

pellared commented Jan 16, 2024

We'll strive to get at least one bridge API implementation for each supported SDK.

This is clear. But... why "at least one" and not simply "one"?

Language SIGs will be free to decide which bridge would be the most useful to their audiences.

This is not clear. Is the term bridge used correctly in this sentence or do you have something else in mind? I am not sure what this sentence is about. I guess it should be "Language SIGs will be free to decide which bridge API implementation would be the most useful to their audiences.". But even then I think the issue description is missing some context. Are there many bridge API implementations? Do we want the SDK to provide many bridge API implementations?

For each one of the following SDKs, there should be at least one bridge API available, either as part of their core repository or as part of their contrib repository. Usage of such bridge should be documented on opentelemetry.io's website.

Bridge API != Bridge. Bridge API is supposed to be used to create bridges that the users would then use. I think that we can document two things:

  1. Describe how users can use existing bridges
  2. Describe how user can create their own bridge using Bridge API

@pellared
Copy link
Member

pellared commented Jan 16, 2024

I am working on implementing Logs for OTel Go. Right now, we are on a design stage of Bridge API. Here is a project that you can use for tracking: https://github.com/orgs/open-telemetry/projects/43/views/1

I also try to make the specification more clear in parts that bring confusion.

@jpkrohling
Copy link
Member Author

Sorry about the confusion: admittedly, I should have been more thoughtful about the terms used here. By "Bridge API implementation," I simply mean a bridge. Like a slog handler, or a log4j appender, for OTLP.

@jpkrohling jpkrohling changed the title One Logging Bridge API implementation per SDK One Logging Bridge per SDK Jan 16, 2024
@pellared
Copy link
Member

pellared commented Jan 16, 2024

For Go we plan to have an slog.Handler as log bridge. I just created an issue for tracking: open-telemetry/opentelemetry-go-contrib#5138

@jpkrohling
Copy link
Member Author

I changed the description a bit to clarify some parts, but I wanted to address some comments here:

We'll strive to get at least one logging bridge for each supported SDK

But... why "at least one" and not simply "one"?

Because we might end up having two :-)

Are there many bridge API implementations? Do we want the SDK to provide many bridge API implementations?

We want SDKs to offer support for at least one logging API that their users care about. We want Language SIG maintainers to decide which ones to implement.

@pellared
Copy link
Member

pellared commented Jan 16, 2024

Another note on

One such item was creating at least one logging bridge per SDK

Log bridge DOES NOT have to be part of SDK (and I think it should not even be - if possible).

The idea Bridge API was to have a separation between SDK and bridges so that the bridges can be used by different API implementations (which does not have to be the OTel SDK).

I think it is better to say.

"One such item was creating at least one logging bridge per Language SIG".

@jpkrohling jpkrohling changed the title One Logging Bridge per SDK One Logging Bridge per zv Jan 16, 2024
@jpkrohling jpkrohling changed the title One Logging Bridge per zv One Logging Bridge per language Jan 16, 2024
@jpkrohling
Copy link
Member Author

Agreed, I replaced SDK by language in most occurrences. Thank you for calling that out!

@srikanthccv
Copy link
Member

Python SIG has one for the stdlib logger LoggingHandler already. This is under the experimental flag and being used by several companies to my knowledge. There is also an open issue to support bridge for another popular third-party library open-telemetry/opentelemetry-python#2993 but I guess having a handler for stdlib should be enough?

@cijothomas
Copy link
Member

OTel .NET provides ILogger (the most common logging facade in modern .NET apps), integration already as a stable feature, used in production by many.
There is support of writing bridges for other logging facades, but this is experimental only.

@lalitb
Copy link
Member

lalitb commented Jan 19, 2024

@jpkrohling
Copy link
Member Author

Closed in favor of #1886

@jpkrohling
Copy link
Member Author

Reopening, as we'll use this issue to track at the GC level.

@jpkrohling jpkrohling reopened this Feb 22, 2024
@trask
Copy link
Member

trask commented Feb 27, 2024

@jpkrohling same here, move to community repo?

@jpkrohling jpkrohling transferred this issue from open-telemetry/opentelemetry-specification Feb 28, 2024
@jpkrohling
Copy link
Member Author

Moved!

@jpkrohling
Copy link
Member Author

I'm happy with this project's outcome: we ensured that ~all languages have a bridge available. Ruby is missing, and it might take some more time to get it done, given the current focus of the SIG. That said, I'm closing, as no more work is planned on this.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
Status: Completed Projects
Development

No branches or pull requests

8 participants