/** * @module utils/logger * @description Logger utility for consistent log management across the library. * @description ライブラリ全体で一貫したログ管理を行うためのロガーユーティリティ。 */ /** * @enum LogLevel * @description Log levels for filtering output. * @description 出力をフィルタリングするためのログレベル。 */ export declare enum LogLevel { DEBUG = 0, INFO = 1, WARN = 2, ERROR = 3, NONE = 4 } /** * @interface ILogger * @description Interface for a logger object compatible with Console. * @description Console と互換性のあるロガーオブジェクトのインターフェース。 */ export interface ILogger { debug(message?: unknown, ...optionalParams: unknown[]): void; info(message?: unknown, ...optionalParams: unknown[]): void; warn(message?: unknown, ...optionalParams: unknown[]): void; error(message?: unknown, ...optionalParams: unknown[]): void; } /** * @class Logger * @description A wrapper class for handling logging with levels and prefixes. * @description レベルとプレフィックスを使用したログ記録を処理するためのラッパークラス。 */ export declare class Logger implements ILogger { private level; private prefix; private impl; /** * @constructor * @param {LogLevel} [level=LogLevel.WARN] - The minimum log level to output. * @param {string} [prefix="[fuzzy-search]"] - The prefix to add to all log messages. * @param {ILogger} [impl=console] - The implementation to use for logging. */ constructor(level?: LogLevel, prefix?: string, impl?: ILogger); private static instance; /** * @method setLevel * @description Updates the current log level for the static instance. * @description 静的インスタンスの現在のログレベルを更新します。 * @param {LogLevel} level - The new log level. */ static setLevel(level: LogLevel): void; /** * @method setLevel * @description Updates the current log level. * @description 現在のログレベルを更新します。 * @param {LogLevel} level - The new log level. */ setLevel(level: LogLevel): void; /** * @method setImplementation * @description Updates the logger implementation for the static instance. * @description 静的インスタンスのロガーの実装を更新します。 * @param {ILogger} impl - The new logger implementation. */ static setImplementation(impl: ILogger): void; /** * @method setImplementation * @description Updates the logger implementation. * @description ロガーの実装を更新します。 * @param {ILogger} impl - The new logger implementation. */ setImplementation(impl: ILogger): void; /** * @method setPrefix * @description Updates the log prefix for the static instance. * @description 静的インスタンスのログのプレフィックスを更新します。 * @param {string} prefix - The new prefix. */ static setPrefix(prefix: string): void; /** * @method setPrefix * @description Updates the log prefix. * @description ログのプレフィックスを更新します。 * @param {string} prefix - The new prefix. */ setPrefix(prefix: string): void; private formatMessage; static debug(message?: unknown, ...optionalParams: unknown[]): void; debug(message?: unknown, ...optionalParams: unknown[]): void; static info(message?: unknown, ...optionalParams: unknown[]): void; info(message?: unknown, ...optionalParams: unknown[]): void; static warn(message?: unknown, ...optionalParams: unknown[]): void; warn(message?: unknown, ...optionalParams: unknown[]): void; static error(message?: unknown, ...optionalParams: unknown[]): void; error(message?: unknown, ...optionalParams: unknown[]): void; } //# sourceMappingURL=logger.d.ts.map