ydb-platform / ydb-platform/ydb-cpp-sdk

Support common logger interface and add plugins to loggers

Open
#377 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement student-projects
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:

  1. Implement a common interface for various logging plugins that we will implement
  2. 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
  3. Mark the old logger as deprecated, but not remove it
  4. TopicClient currently has its own logger; replacing it requires further investigation

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.