UNPKG

@cere/rob-cli

Version:

CLI tool for deploying and managing rafts and data sources

91 lines (90 loc) 2.48 kB
export declare enum LogLevel { TRACE = -1, DEBUG = 0, INFO = 1, WARN = 2, ERROR = 3, NONE = 4 } interface LoggerOptions { level?: LogLevel; prefix?: string; } /** * Simple logger with color output */ export declare class Logger { private contextName; private level; private prefix; constructor(contextName: string, options?: LoggerOptions); /** * Get the global log level from environment variable or use default INFO level */ private getGlobalLogLevel; /** * Format log message with timestamp and context */ private formatMessage; /** * Format an object for logging */ private formatObject; /** * Log trace message (only if log level is TRACE) */ trace(message: string | object): void; /** * Log debug message (only if log level is TRACE or DEBUG) */ debug(message: string | object): void; /** * Log info message (if log level is TRACE, DEBUG or INFO) */ info(message: string | object): void; /** * Log success message (if log level is TRACE, DEBUG or INFO) */ success(message: string | object): void; /** * Log warning message (if log level is TRACE, DEBUG, INFO or WARN) */ warn(message: string | object): void; /** * Log error message (if log level is TRACE, DEBUG, INFO, WARN or ERROR) */ error(message: string | object): void; /** * Log an object as JSON */ json(label: string, obj: any): void; /** * Log HTTP request details */ httpRequest(method: string, url: string, headers: Record<string, string>, body?: any): void; /** * Log HTTP response details */ httpResponse(status: number, statusText: string, headers: Record<string, string>, body?: any): void; /** * Log a Terraform-style creating message */ creating(resourceType: string, id: string): void; /** * Log a Terraform-style created message */ created(resourceType: string, id: string, timeTaken: number): void; /** * Log a Terraform-style updating message */ updating(resourceType: string, id: string): void; /** * Log a Terraform-style updated message */ updated(resourceType: string, id: string, timeTaken: number): void; /** * Log a Terraform-style completion summary */ completionSummary(added: number, changed: number, destroyed: number): void; } export {};