ydb-platform / ydb-platform/ydb-cpp-sdk
Support common logger interface and add plugins to loggers
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 19
- Forks
- 31
- Avg merge
- 2d 5h
- Merged PRs (30d)
- 10
Description
Currently, the C++ SDK only accepts its own logger implementation (library/cpp/logger). It is internal to the YDB project, and for external clients, we would like to be able to support other popular loggers (Spdlog, Glog, Boost.Log).
Therefore, we need to:
- Implement a common interface for various logging plugins that we will implement
- Implement logging plugins. These will be passed to
NYdb::TDriver. The plugin for the internal logger is mandatory and should be placed in the YDB repository - Mark the old logger as deprecated, but not remove it
- TopicClient currently has its own logger; replacing it requires further investigation
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read the existing implementation under library/cpp/logger and trace how plugins would be passed to NYdb::TDriver. Review TopicClient's separate logger as an unresolved dependency; done means a common interface exists, the internal logger plugin is included, external logger plugins can be supported, and the old logger is deprecated without removal.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- api, observability
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100