import { Injector } from '#di'; import { ModuleExtract } from '#types/module-extract.js'; import { Logger, LoggerConfig, InputLogLevel, OutputLogLevel } from '#logger/logger.js'; import { LogItem } from '#logger/types.js'; /** * Mediator between the core logger and the user's custom logger. */ export declare abstract class LogMediator { protected moduleExtract: ModuleExtract; protected injector?: Injector | undefined; protected logger: Logger; protected loggerConfig: LoggerConfig; /** * If `bufferLogs === true` then all messages will be buffered. * * If you need logging all buffered messages, call `systemLogMediator.flush()`. */ static bufferLogs?: boolean; static buffer: LogItem[]; protected static outputLogLevel: OutputLogLevel; protected static hasDiffLogLevels: boolean; constructor(moduleExtract: ModuleExtract, injector?: Injector | undefined, logger?: Logger, loggerConfig?: LoggerConfig); protected setLog(inputLogLevel: InputLogLevel, msg: string): void; /** * This method is needed only for those cases when logs are written to the buffer before * the `OutputLogLevel` is known. At the moment, it is needed only for the `Application` * class, before initializing providers at the application level. */ protected updateOutputLogLevel(): void; /** * Sets `LogMediator.hasDiffLogLevels` to `true`, if `LogMediator.buffer` has logs with different `OutputLogLevel`s. */ protected static checkDiffLogLevels(level: OutputLogLevel): void; /** * Writing of logs by loggers. */ protected writeLogs(logItems: LogItem[]): Logger; protected msgAboutSingletonLogger: string; } //# sourceMappingURL=log-mediator.d.ts.map