@dima_aryze/reforge
Version:
TypeScript/JavaScript SDK for Reforge - Cross-chain token operations
70 lines • 1.83 kB
TypeScript
/**
* Professional logging utility for the Reforge SDK
*/
import type { LogLevel } from '../types/core';
import type { ILogger } from '../types/http';
/**
* Logger configuration options
*/
export interface LoggerConfig {
/** Log level threshold */
level: LogLevel;
/** Custom prefix for log messages */
prefix?: string;
/** Enable timestamps in log messages */
timestamps?: boolean;
/** Custom logger implementation */
customLogger?: Partial<ILogger>;
}
/**
* Professional logger implementation with configurable levels and formatting
*/
export declare class Logger implements ILogger {
private readonly config;
constructor(config: LoggerConfig);
/**
* Check if a log level should be output based on current threshold
*/
private shouldLog;
/**
* Format a log message with prefix and timestamp
*/
private formatMessage;
/**
* Log an error message
*/
error(message: string, ...args: any[]): void;
/**
* Log a warning message
*/
warn(message: string, ...args: any[]): void;
/**
* Log an info message
*/
info(message: string, ...args: any[]): void;
/**
* Log a debug message
*/
debug(message: string, ...args: any[]): void;
/**
* Update the log level
*/
setLevel(level: LogLevel): void;
/**
* Get the current log level
*/
getLevel(): LogLevel;
/**
* Create a child logger with modified configuration
*/
child(config: Partial<LoggerConfig>): Logger;
}
/**
* Create a default logger instance
*/
export declare function createLogger(level?: LogLevel, prefix?: string): Logger;
/**
* Silent logger that doesn't output anything - useful for testing
*/
export declare const silentLogger: ILogger;
//# sourceMappingURL=logger.d.ts.map