smart-saga-pattern
Version:
A library implementing the Saga pattern for microservice architecture
74 lines (73 loc) • 1.86 kB
TypeScript
import { SagaLogger } from '../types';
/**
* Log levels
*/
export declare enum LogLevel {
DEBUG = "DEBUG",
INFO = "INFO",
WARN = "WARN",
ERROR = "ERROR"
}
/**
* Options for the ConsoleLogger
*/
export interface ConsoleLoggerOptions {
level?: LogLevel;
includeTimestamp?: boolean;
}
/**
* Console implementation of SagaLogger
*/
export declare class ConsoleLogger implements SagaLogger {
private level;
private includeTimestamp;
private readonly LOG_LEVEL_PRIORITY;
/**
* Creates a new ConsoleLogger
* @param options Logger options
*/
constructor(options?: ConsoleLoggerOptions);
/**
* Logs a debug message
* @param message Message to log
* @param meta Optional metadata
*/
debug(message: string, meta?: Record<string, any>): void;
/**
* Logs an info message
* @param message Message to log
* @param meta Optional metadata
*/
info(message: string, meta?: Record<string, any>): void;
/**
* Logs a warning message
* @param message Message to log
* @param meta Optional metadata
*/
warn(message: string, meta?: Record<string, any>): void;
/**
* Logs an error message
* @param message Message to log
* @param error Optional error
* @param meta Optional metadata
*/
error(message: string, error?: Error, meta?: Record<string, any>): void;
/**
* Logs a message
* @param level Log level
* @param message Message to log
* @param error Optional error
* @param meta Optional metadata
*/
private log;
}
/**
* Factory for creating SagaLogger instances
*/
export declare class LoggerFactory {
/**
* Creates a console logger
* @param options Logger options
*/
static createConsoleLogger(options?: ConsoleLoggerOptions): SagaLogger;
}