import { Logger, LogContext } from './types'; /** * LoggerProxy acts as a static proxy to route logging calls to an injected logger implementation. * Ensures a consistent log format and centralizes logging behavior for the SDK. * @ignore */ export default class LoggerProxy { /** * The static logger instance to be used by the proxy. * @ignore */ static logger: Logger; /** * Initializes the logger proxy with a provided logger implementation. * * @param {Logger} logger - A logger object implementing standard logging methods. * @ignore */ static initialize(logger: Logger): void; /** * Logs a generic message using the default log level. * * @param {string} message - The log message. * @param {LogContext} [context={}] - Optional context providing module and method names. * @ignore */ static log(message: string, context?: LogContext): void; /** * Logs an informational message. * * @param {string} message - The log message. * @param {LogContext} [context={}] - Optional context providing module and method names. * @ignore */ static info(message: string, context?: LogContext): void; /** * Logs a warning message. * * @param {string} message - The warning message. * @param {LogContext} [context={}] - Optional context providing module and method names. * @ignore */ static warn(message: string, context?: LogContext): void; /** * Logs a trace-level message, useful for debugging. * * @param {string} message - The trace message. * @param {LogContext} [context={}] - Optional context providing module and method names. * @ignore */ static trace(message: string, context?: LogContext): void; /** * Logs an error message. * * @param {string} message - The error message. * @param {LogContext} [context={}] - Optional context providing module and method names. * @ignore */ static error(message: string, context?: LogContext): void; /** * Formats a log message with timestamp, log level, and context details. * * @private * @param {LOGGING_LEVEL} level - Logging level (e.g., info, error). * @param {string} message - The message to be logged. * @param {LogContext} context - Context containing module and method metadata. * @returns {string} The formatted log string. * @ignore */ private static format; }