"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.logger = void 0; const cross_fetch_1 = __importDefault(require("cross-fetch")); const LOKI_BASE_URL = "https://log.idz.one"; const LOKI_ENDPOINT = "/loki/api/v1/push"; const createLogger = (level) => { const sendToLoki = async (mensagem, options) => { if (!options.eProducao) { console.log(level, mensagem, options); return; } const { app, conta, usuario, detalhes = [] } = options; const timestamp = `${Date.now()}000000`; try { // Formata a linha de log principal const mainLog = detalhes.length > 0 ? `${mensagem} | ${detalhes.map((d) => JSON.stringify(d)).join(" ")}` : mensagem; const payload = { stream: { app, conta, usuario, level }, values: [ [ timestamp, mainLog, // Linha de log direta ], ], }; const response = await (0, cross_fetch_1.default)(`${LOKI_BASE_URL}${LOKI_ENDPOINT}`, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify({ streams: [payload] }), }); if (!response.ok) { throw new Error(`Erro ${response.status}: ${await response.text()}`); } } catch (error) { console.error("[Logger] Falha no envio:", error); } }; return sendToLoki; }; exports.logger = { /** 🟢 Informação geral */ info: createLogger("info"), /** 🟡 Aviso/atenção necessária */ warn: createLogger("warn"), /** 🔴 Erro crítico na execução */ error: createLogger("error"), }; //# sourceMappingURL=logger.js.map