_comuns/dist/logger.js
2025-02-22 17:46:02 -03:00

58 lines
No EOL
2.1 KiB
JavaScript

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.logger = exports.postLogger = 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 postLogger = async ({ objeto, }) => {
const response = await (0, cross_fetch_1.default)(`${LOKI_BASE_URL}${LOKI_ENDPOINT}`, {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify(objeto),
}).catch((a) => a);
if (!response.ok) {
return [objeto, `Erro ${response.status}: ${await response?.text?.()}`];
}
else {
return [objeto];
}
};
exports.postLogger = postLogger;
const logger = ({ app, eProducao }) => ({ inquilino, usuario }) => async (level, mensagem, op_tipoLog) => {
let { __filename, detalhes, local } = op_tipoLog || {};
if (!eProducao) {
app = `DEV-${app}`;
}
const isNode = typeof process !== "undefined" && process.versions?.node;
if (isNode && __filename) {
__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 objeto = { streams: [payload] };
const response = await (0, exports.postLogger)({ objeto });
return response;
};
exports.logger = logger;
//# sourceMappingURL=logger.js.map