UNPKG

@ai-growth/n8n-nodes-wordpress

Version:

n8n node for WordPress integration with AI GROWTH - SEO WP plugin

171 lines (170 loc) 5.99 kB
"use strict"; exports.__esModule = true; exports.Logger = exports.LogLevel = void 0; /** * Níveis de log */ var LogLevel; (function (LogLevel) { LogLevel[LogLevel["NONE"] = 0] = "NONE"; LogLevel[LogLevel["ERROR"] = 1] = "ERROR"; LogLevel[LogLevel["WARN"] = 2] = "WARN"; LogLevel[LogLevel["INFO"] = 3] = "INFO"; LogLevel[LogLevel["DEBUG"] = 4] = "DEBUG"; })(LogLevel = exports.LogLevel || (exports.LogLevel = {})); /** * Classe para gerenciar logs da aplicação */ var Logger = /** @class */ (function () { /** * Construtor do logger * @param options Opções de configuração */ function Logger(options) { if (options === void 0) { options = {}; } var _a, _b, _c; this.level = (_a = options.level) !== null && _a !== void 0 ? _a : LogLevel.ERROR; this.prefix = (_b = options.prefix) !== null && _b !== void 0 ? _b : '[WordPress API]'; this.timestamp = options.timestamp !== undefined ? options.timestamp : true; this.logFn = (_c = options.logFn) !== null && _c !== void 0 ? _c : console.log; } /** * Define o nível de log * @param level Novo nível de log */ Logger.prototype.setLevel = function (level) { this.level = level; }; /** * Formata a mensagem de log * @param level Nível do log * @param message Mensagem ou objeto a ser logado * @returns Mensagem formatada */ Logger.prototype.format = function (level, message) { var timestamp = this.timestamp ? "[".concat(new Date().toISOString(), "] ") : ''; var prefix = this.prefix ? "".concat(this.prefix, " ") : ''; // Formatar objetos var formattedMessage = message; if (typeof message === 'object') { try { formattedMessage = JSON.stringify(message, null, 2); } catch (error) { formattedMessage = "[Object: ".concat(message.toString(), "]"); } } return "".concat(timestamp).concat(prefix).concat(level, ": ").concat(formattedMessage); }; /** * Registra um log de nível ERROR * @param message Mensagem ou objeto a ser logado * @param data Dados adicionais (opcional) */ Logger.prototype.error = function (message, data) { if (this.level >= LogLevel.ERROR) { this.logFn(this.format('ERROR', message)); if (data !== undefined) { this.logFn(this.format('ERROR_DATA', data)); } } }; /** * Registra um log de nível WARN * @param message Mensagem ou objeto a ser logado * @param data Dados adicionais (opcional) */ Logger.prototype.warn = function (message, data) { if (this.level >= LogLevel.WARN) { this.logFn(this.format('WARN', message)); if (data !== undefined) { this.logFn(this.format('WARN_DATA', data)); } } }; /** * Registra um log de nível INFO * @param message Mensagem ou objeto a ser logado * @param data Dados adicionais (opcional) */ Logger.prototype.info = function (message, data) { if (this.level >= LogLevel.INFO) { this.logFn(this.format('INFO', message)); if (data !== undefined) { this.logFn(this.format('INFO_DATA', data)); } } }; /** * Registra um log de nível DEBUG * @param message Mensagem ou objeto a ser logado * @param data Dados adicionais (opcional) */ Logger.prototype.debug = function (message, data) { if (this.level >= LogLevel.DEBUG) { this.logFn(this.format('DEBUG', message)); if (data !== undefined) { this.logFn(this.format('DEBUG_DATA', data)); } } }; /** * Registra uma requisição HTTP * @param method Método HTTP * @param url URL da requisição * @param params Parâmetros da requisição (opcional) * @param data Dados da requisição (opcional) */ Logger.prototype.request = function (method, url, params, data) { if (this.level >= LogLevel.DEBUG) { this.debug("".concat(method.toUpperCase(), " ").concat(url)); if (params) { this.debug('Request params:', params); } if (data) { this.debug('Request data:', data); } } }; /** * Registra uma resposta HTTP * @param method Método HTTP da requisição * @param url URL da requisição * @param status Status HTTP da resposta * @param data Dados da resposta (opcional) */ Logger.prototype.response = function (method, url, status, data) { if (this.level >= LogLevel.DEBUG) { this.debug("".concat(method.toUpperCase(), " ").concat(url, " => ").concat(status)); if (data) { this.debug('Response data:', data); } } }; /** * Registra um erro HTTP * @param method Método HTTP da requisição * @param url URL da requisição * @param error Erro ocorrido */ Logger.prototype.httpError = function (method, url, error) { if (this.level >= LogLevel.ERROR) { this.error("".concat(method.toUpperCase(), " ").concat(url, " => ERROR: ").concat(error.message || error)); if (error.response) { this.error('Response error:', { status: error.response.status, statusText: error.response.statusText, data: error.response.data }); } else if (error.request) { this.error('Request error: No response received'); } if (error.stack) { this.error('Stack trace:', error.stack); } } }; return Logger; }()); exports.Logger = Logger;