// Logger utility for pi-test-oracle. // Replaces direct console.warn/error with consistent structured logging. const PREFIX = "[pi-test-oracle]"; export enum LogLevel { SILENT = 0, ERROR = 1, WARN = 2, INFO = 3, DEBUG = 4, } let currentLevel: LogLevel = LogLevel.INFO; /** * Set the log level for the oracle. */ export function setLogLevel(level: LogLevel): void { currentLevel = level; } /** * Get the current log level. */ export function getLogLevel(): LogLevel { return currentLevel; } /** * Log an info message. */ export function logInfo(message: string): void { if (currentLevel >= LogLevel.INFO) { console.log(`${PREFIX} ${message}`); } } /** * Log a warning message. */ export function logWarn(message: string): void { if (currentLevel >= LogLevel.WARN) { console.warn(`${PREFIX} ${message}`); } } /** * Log an error message. */ export function logError(message: string): void { if (currentLevel >= LogLevel.ERROR) { console.error(`${PREFIX} ${message}`); } } /** * Log a debug message (only when PI_DEBUG=1 or PI_TEST_ORACLE_DEBUG=1). */ export function logDebug(message: string): void { if ( currentLevel >= LogLevel.DEBUG || process.env.PI_DEBUG === "1" || process.env.PI_TEST_ORACLE_DEBUG === "1" ) { console.log(`${PREFIX} [DEBUG] ${message}`); } }