fock-logger - v7.0.1
    Preparing search index...

    Классы Logger и BaseLogger

    Абстрактный базовый класс, реализующий общую логику форматирования, проверки уровня и управления контекстом.

    Конструктор:

    new BaseLogger(
    data: LoggerConstructor<Levels, BaseInput>,
    std?: Std
    )

    Защищённые методы (доступны в наследниках):

    • shouldLog(log: boolean, level: Levels): boolean — определяет, нужно ли логировать сообщение.
    • applyContext(context: LoggerContext<Levels>): Required<LoggerContext<Levels>> — объединяет базовый и переданный контекст.
    • applyReadListeners(listeners: LoggerReadListeners | undefined, handlers: PromiseFunctions): object — настраивает слушатели для потокового ввода.
    • format(input: BaseInput[]): string — применяет форматтер и аффиксы к массиву данных.

    Основной класс, наследующий BaseLogger и реализующий методы execute и read.

    Конструктор:

    new Logger(
    data: LoggerConstructor<Levels, BaseInput>,
    std?: Std
    )

    Методы:

    • execute(input: InputParameter<BaseInput>, configuration: LoggerBaseConfigurationParameter<Levels>): Promise<string>
      Записывает лог-сообщение. Возвращает отформатированную строку.

    • read(input: InputParameter<BaseInput>, configuration: LoggerReadConfigurationParameter<Levels>): Promise<string>
      Выводит приглашение и ожидает ввод пользователя. Возвращает введённую строку (без символа перевода строки).

    type LoggerConstructor<Levels extends string, T = never> = {
    readonly timestampService: TimestampServiceType;
    readonly fileService: FileServiceType;
    readonly formatterHandler?: BaseFormatter<LoggerInput<T>, T>;
    readonly name: string;
    readonly userInputSettings?: Partial<UserInputSettings>;
    readonly baseLevels: LoggerLevels<Levels>;
    readonly baseContext?: BaseLoggerContext;
    };
    • timestampService — экземпляр сервиса временных меток.
    • fileService — экземпляр файлового сервиса.
    • formatterHandler — обработчик форматтеров (по умолчанию используется стандартный набор).
    • name — имя логгера, будет добавляться как префикс.
    • userInputSettings — настройки для пользовательского ввода (префикс и разделитель при записи в файл).
    • baseLevels — настройки уровней логирования.
    • baseContext — базовый контекст (флаги и разделитель).