n8n-nodes-proxmox
Version:
n8n community node for Proxmox Virtual Environment (VE) API integration with VM, container, storage, and cluster management capabilities
50 lines (49 loc) • 1.98 kB
JavaScript
;
/**
* Simple logging utility for ProxMox node operations
*/
Object.defineProperty(exports, "__esModule", { value: true });
exports.logger = void 0;
class ProxMoxLogger {
isDebugEnabled() {
return process.env.NODE_ENV === 'development' || process.env.N8N_DEBUG === 'true';
}
formatMessage(level, category, message, context) {
const timestamp = new Date().toISOString();
const contextStr = context ? ` ${JSON.stringify(context)}` : '';
return `[${timestamp}] PROXMOX:${level.toUpperCase()} [${category}] ${message}${contextStr}`;
}
debug(category, message, context) {
if (this.isDebugEnabled()) {
console.debug(this.formatMessage('debug', category, message, context));
}
}
info(category, message, context) {
console.info(this.formatMessage('info', category, message, context));
}
warn(category, message, context) {
console.warn(this.formatMessage('warn', category, message, context));
}
error(category, message, context) {
console.error(this.formatMessage('error', category, message, context));
}
// Convenience methods for common ProxMox operations
apiRequest(method, endpoint, context) {
this.debug('api', `${method} ${endpoint}`, context);
}
apiResponse(method, endpoint, status, context) {
this.debug('api', `${method} ${endpoint} -> ${status}`, context);
}
apiError(method, endpoint, error, context) {
this.error('api', `${method} ${endpoint} failed: ${error}`, context);
}
operation(operation, resource, status, context) {
const level = status === 'error' ? 'error' : 'info';
this[level]('operation', `${operation} ${resource} ${status}`, context);
}
auth(action, status, context) {
const level = status === 'error' ? 'error' : 'info';
this[level]('auth', `${action} ${status}`, context);
}
}
exports.logger = new ProxMoxLogger();