@cere/rob-cli
Version:
CLI tool for deploying and managing rafts and data sources
91 lines (90 loc) • 2.48 kB
TypeScript
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 {};