import type { DynamicModule } from '@nestjs/common'; import type { Constructor } from '@rsdk/common'; export declare class LoggingModule { static register(target: object, context: string | Constructor, token?: string): void; /** * Дополнительная возможность добавить в DI контейнер логгер в случаях когда нужен инлайн вызов например через `useFactory` * @example * const moduleDef = { * imports: [LoggingModule.forFeature(MyService)], * module: MyModule, * providers: [ * { * inject: [getLoggerToken(MyService)], * provide: MyService, * useFactory(logger: ILogger) * } * ] * } * // Но по возможности * const moduleDef = { * module: MyModule, * providers: [ * { * inject: [getLoggerToken(MyService)], * provide: MyService, * useFactory(logger: ILogger) * } * ] * } * LoggerModule.register(moduleDef, MyService) * @param context в обычном случае это или класс или строка по которой вы его инжектите например для `getLoggerToken(MyService)`/`@InjectLogger(MyService)`, необходимо будет сделать LoggerModule.forFeature(MyService) * @param token если по какой-то причине вы хотите подменить логгер `@InjectLogger(MyService)` на логгер `@InjectLogger(NotMyService)`, используйте `getLoggerToken(MyService)` в качестве второго аргумента */ static forFeature(context: string | Constructor, token?: string): DynamicModule; }