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

bug: Кастомный логгер переопределяется не везде #338

Open
artems opened this issue Jan 5, 2024 · 0 comments
Labels
bug Something isn't working

Comments

@artems
Copy link

artems commented Jan 5, 2024

Bug Report

Environment and system information:

  • ydb-nodejs-sdk version: 5.1.1
  • Node.js version: 18.12.1
  • NPM version: 8.19.2
  • Operation System: Linux

Additional environment info:

Current behavior:

После вызова setupLogger sdk продолжает использовать FallbackLogger. Например, для сообщений вида:
Caught an error Overloaded, retrying with slow backoff, 10 retries left

Expected behavior:

Вызов setupLogger сразу после импорта sdk должен подменить logger для всех последующих logger.method() внутри sdk

Steps to reproduce:

При первом вызове setupLogger, после импорта sdk, в консоль всегда пишет предупреждение Reassigning logger, some logs can be lost. Это говорит о том, что FallbackLogger уже создан и где-то сохранен в переменную, которая не меняется после вызова setupLogger.

import { setupLogger } from 'ydb-sdk';
setupLogger(console);

Related code:

Внутри retryable создается инстанс RetryStrategy, в конструкторе которого вызывается getLogger, который создает FallbackLogger. FallbackLogger создается всегда, фактически, в момент первого подключения пакета ydb-sdk.

Некоторые методы продолжают использовать инстанс FallbackLogger, который получили в момент определения класса и вызова декоратора retryable для их методов, несмотря на последующий вызов setupLogger.

Other information:

Это релевантно этому issue:
#290

@artems artems added the bug Something isn't working label Jan 5, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant