"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 variaveisComuns_1 = require("./variaveisComuns"); const LOKI_BASE_URL = "https://log.idz.one"; const LOKI_ENDPOINT = "/loki/api/v1/push"; const logger = ({ app, eProducao }) => ({ inquilino, usuario }) => { const f = (level) => async (mensagem, op_tipoLog) => { let { __filename, detalhes, local } = op_tipoLog || {}; if (!eProducao) { app = `DEV-${app}`; } if (__filename && typeof process != "undefined" && process.cwd()) { __filename = __filename.replace(process.cwd(), ""); } if (local) { detalhes = [`${(0, variaveisComuns_1.nomeVariavel)({ local })}="${local}"`]; } if (__filename) { detalhes = [`${(0, variaveisComuns_1.nomeVariavel)({ __filename })}="${__filename}"`]; } const timestamp = `${Date.now()}000000`; const mainLog = detalhes?.length ? `${mensagem} | ${detalhes.map((d) => JSON.stringify(d)).join(" ")}` : mensagem; const payload = { stream: { app, inquilino, 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()}`); } }; return { info: f("info"), warn: f("warn"), error: f("error"), }; }; exports.logger = logger; //# sourceMappingURL=logger.js.map