UNPKG

@sailboat-computer/data-storage

Version:

Shared data storage library for sailboat computer v3

113 lines (112 loc) 2.62 kB
/** * Logger utility for the data storage package */ /** * Log level */ export type LogLevel = 'debug' | 'info' | 'warn' | 'error'; /** * Logger interface */ export interface Logger { /** * Log a debug message * @param message Message to log * @param meta Additional metadata */ debug(message: string, meta?: any): void; /** * Log an info message * @param message Message to log * @param meta Additional metadata */ info(message: string, meta?: any): void; /** * Log a warning message * @param message Message to log * @param meta Additional metadata */ warn(message: string, meta?: any): void; /** * Log an error message * @param message Message to log * @param meta Additional metadata */ error(message: string, meta?: any): void; } /** * Logger options */ export interface LoggerOptions { /** * Log level * @default 'info' */ level?: LogLevel; /** * Whether to log to console * @default true */ console?: boolean; /** * Whether to log to file * @default false */ file?: boolean; /** * Path to log file */ filePath?: string; } /** * Console logger implementation */ export declare class ConsoleLogger implements Logger { private level; private component; private levelPriority; /** * Create a new console logger * @param component Component name * @param options Logger options */ constructor(component: string, options?: LoggerOptions); /** * Log a debug message * @param message Message to log * @param meta Additional metadata */ debug(message: string, meta?: any): void; /** * Log an info message * @param message Message to log * @param meta Additional metadata */ info(message: string, meta?: any): void; /** * Log a warning message * @param message Message to log * @param meta Additional metadata */ warn(message: string, meta?: any): void; /** * Log an error message * @param message Message to log * @param meta Additional metadata */ error(message: string, meta?: any): void; /** * Log a message * @param level Log level * @param message Message to log * @param meta Additional metadata */ private log; } /** * Create a new logger * @param component Component name * @param options Logger options * @returns Logger */ export declare function createLogger(component: string, options?: LoggerOptions): Logger;