From 79a83fe1586fdc7feafa3bac61d573072f2ab63f Mon Sep 17 00:00:00 2001 From: Luiz Silva Date: Sat, 22 Feb 2025 10:38:12 -0300 Subject: [PATCH] melhorias em logger --- dist/logger.d.ts | 7 ++--- dist/logger.js | 73 ++++++++++++++++++++----------------------- dist/logger.js.map | 2 +- dist/teste.js | 6 ++-- dist/teste.js.map | 2 +- package.json | 2 +- src/logger.ts | 78 +++++++++++++++++++++------------------------- src/teste.ts | 6 ++-- 8 files changed, 79 insertions(+), 97 deletions(-) diff --git a/dist/logger.d.ts b/dist/logger.d.ts index b2ecfde..15f4d06 100644 --- a/dist/logger.d.ts +++ b/dist/logger.d.ts @@ -1,3 +1,4 @@ +type tipoLevel = "info" | "warn" | "error"; type tipoOpSessao = { inquilino: string; usuario: string; @@ -10,9 +11,5 @@ type tipoLog = { export declare const logger: ({ app, eProducao }: { app: string; eProducao: boolean; -}) => ({ inquilino, usuario }: tipoOpSessao) => { - info: (mensagem: string, op_tipoLog?: tipoLog) => Promise; - warn: (mensagem: string, op_tipoLog?: tipoLog) => Promise; - error: (mensagem: string, op_tipoLog?: tipoLog) => Promise; -}; +}) => ({ inquilino, usuario }: tipoOpSessao) => (level: tipoLevel, mensagem: string, op_tipoLog?: tipoLog) => Promise; export {}; diff --git a/dist/logger.js b/dist/logger.js index a02a837..16cb32f 100644 --- a/dist/logger.js +++ b/dist/logger.js @@ -8,48 +8,41 @@ 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 logger = ({ app, eProducao }) => ({ inquilino, usuario }) => async (level, 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"), + ], }; + 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()}`); + } }; exports.logger = logger; //# sourceMappingURL=logger.js.map \ No newline at end of file diff --git a/dist/logger.js.map b/dist/logger.js.map index 36dc69c..66d96fc 100644 --- a/dist/logger.js.map +++ b/dist/logger.js.map @@ -1 +1 @@ -{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAoC;AACpC,uDAAgD;AAEhD,MAAM,aAAa,GAAG,qBAAqB,CAAA;AAC3C,MAAM,aAAa,GAAG,mBAAmB,CAAA;AAelC,MAAM,MAAM,GACjB,CAAC,EAAE,GAAG,EAAE,SAAS,EAAuC,EAAE,EAAE,CAC5D,CAAC,EAAE,SAAS,EAAE,OAAO,EAAgB,EAAE,EAAE;IACvC,MAAM,CAAC,GACL,CAAC,KAAgB,EAAE,EAAE,CAAC,KAAK,EAAE,QAAgB,EAAE,UAAoB,EAAE,EAAE;QACrE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,UAAU,IAAI,EAAE,CAAA;QAEtD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,GAAG,GAAG,OAAO,GAAG,EAAE,CAAA;QACpB,CAAC;QAED,IAAI,UAAU,IAAI,OAAO,OAAO,IAAI,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;YACjE,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAA;QACpD,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,QAAQ,GAAG,CAAC,GAAG,IAAA,8BAAY,EAAC,EAAE,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,CAAC,CAAA;QACtD,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,QAAQ,GAAG,CAAC,GAAG,IAAA,8BAAY,EAAC,EAAE,UAAU,EAAE,CAAC,KAAK,UAAU,GAAG,CAAC,CAAA;QAChE,CAAC;QAED,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAA;QAEvC,MAAM,OAAO,GAAG,QAAQ,EAAE,MAAM;YAC9B,CAAC,CAAC,GAAG,QAAQ,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACrE,CAAC,CAAC,QAAQ,CAAA;QAEZ,MAAM,OAAO,GAAG;YACd,MAAM,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;YAC1C,MAAM,EAAE;gBACN;oBACE,SAAS;oBACT,OAAO,EAAE,sBAAsB;iBAChC;aACF;SACF,CAAA;QAED,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAU,EAAC,GAAG,aAAa,GAAG,aAAa,EAAE,EAAE;YACpE,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;YAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;SAC7C,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QACtE,CAAC;IACH,CAAC,CAAA;IAEH,OAAO;QACL,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC;KAClB,CAAA;AACH,CAAC,CAAA;AAtDU,QAAA,MAAM,UAsDhB"} \ No newline at end of file +{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAoC;AACpC,uDAAgD;AAEhD,MAAM,aAAa,GAAG,qBAAqB,CAAA;AAC3C,MAAM,aAAa,GAAG,mBAAmB,CAAA;AAelC,MAAM,MAAM,GACjB,CAAC,EAAE,GAAG,EAAE,SAAS,EAAuC,EAAE,EAAE,CAC5D,CAAC,EAAE,SAAS,EAAE,OAAO,EAAgB,EAAE,EAAE,CACzC,KAAK,EAAE,KAAgB,EAAE,QAAgB,EAAE,UAAoB,EAAE,EAAE;IACjE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,UAAU,IAAI,EAAE,CAAA;IAEtD,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,GAAG,GAAG,OAAO,GAAG,EAAE,CAAA;IACpB,CAAC;IAED,IAAI,UAAU,IAAI,OAAO,OAAO,IAAI,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC;QACjE,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,CAAC,CAAA;IACpD,CAAC;IACD,IAAI,KAAK,EAAE,CAAC;QACV,QAAQ,GAAG,CAAC,GAAG,IAAA,8BAAY,EAAC,EAAE,KAAK,EAAE,CAAC,KAAK,KAAK,GAAG,CAAC,CAAA;IACtD,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,QAAQ,GAAG,CAAC,GAAG,IAAA,8BAAY,EAAC,EAAE,UAAU,EAAE,CAAC,KAAK,UAAU,GAAG,CAAC,CAAA;IAChE,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAA;IAEvC,MAAM,OAAO,GAAG,QAAQ,EAAE,MAAM;QAC9B,CAAC,CAAC,GAAG,QAAQ,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;QACrE,CAAC,CAAC,QAAQ,CAAA;IAEZ,MAAM,OAAO,GAAG;QACd,MAAM,EAAE,EAAE,GAAG,EAAE,SAAS,EAAE,OAAO,EAAE,KAAK,EAAE;QAC1C,MAAM,EAAE;YACN;gBACE,SAAS;gBACT,OAAO,EAAE,sBAAsB;aAChC;SACF;KACF,CAAA;IAED,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAU,EAAC,GAAG,aAAa,GAAG,aAAa,EAAE,EAAE;QACpE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;QAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;KAC7C,CAAC,CAAA;IAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IACtE,CAAC;AACH,CAAC,CAAA;AA9CU,QAAA,MAAM,UA8ChB"} \ No newline at end of file diff --git a/dist/teste.js b/dist/teste.js index 14a6a72..66c0930 100644 --- a/dist/teste.js +++ b/dist/teste.js @@ -2,10 +2,10 @@ Object.defineProperty(exports, "__esModule", { value: true }); const logger_1 = require("./logger"); const l = (0, logger_1.logger)({ app: "teste", eProducao: true }); -const { error, info } = l({ +const lg = l({ inquilino: "conta_1", usuario: "pedrinho", }); -error("Deu Ruim"); -info("Deu Bom", { __filename }); +lg("error", "Deu Ruim"); +lg("info", "Deu Bom", { __filename }); //# sourceMappingURL=teste.js.map \ No newline at end of file diff --git a/dist/teste.js.map b/dist/teste.js.map index 1b24700..79e6290 100644 --- a/dist/teste.js.map +++ b/dist/teste.js.map @@ -1 +1 @@ -{"version":3,"file":"teste.js","sourceRoot":"","sources":["../src/teste.ts"],"names":[],"mappings":";;AAAA,qCAAiC;AAEjC,MAAM,CAAC,GAAG,IAAA,eAAM,EAAC,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;AAEnD,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IACxB,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,UAAU;CACpB,CAAC,CAAA;AAEF,KAAK,CAAC,UAAU,CAAC,CAAA;AACjB,IAAI,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA"} \ No newline at end of file +{"version":3,"file":"teste.js","sourceRoot":"","sources":["../src/teste.ts"],"names":[],"mappings":";;AAAA,qCAAiC;AAEjC,MAAM,CAAC,GAAG,IAAA,eAAM,EAAC,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;AAEnD,MAAM,EAAE,GAAG,CAAC,CAAC;IACX,SAAS,EAAE,SAAS;IACpB,OAAO,EAAE,UAAU;CACpB,CAAC,CAAA;AAEF,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,CAAA;AACvB,EAAE,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,UAAU,EAAE,CAAC,CAAA"} \ No newline at end of file diff --git a/package.json b/package.json index fd72c74..96b8a05 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "p-comuns", - "version": "0.79.0", + "version": "0.80.0", "description": "", "main": "dist/index.js", "scripts": { diff --git a/src/logger.ts b/src/logger.ts index 4fb9d34..53703b1 100644 --- a/src/logger.ts +++ b/src/logger.ts @@ -19,56 +19,48 @@ type tipoLog = { export const logger = ({ app, eProducao }: { app: string; eProducao: boolean }) => - ({ inquilino, usuario }: tipoOpSessao) => { - const f = - (level: tipoLevel) => async (mensagem: string, op_tipoLog?: tipoLog) => { - let { __filename, detalhes, local } = op_tipoLog || {} + ({ inquilino, usuario }: tipoOpSessao) => + async (level: tipoLevel, mensagem: string, op_tipoLog?: tipoLog) => { + let { __filename, detalhes, local } = op_tipoLog || {} - if (!eProducao) { - app = `DEV-${app}` - } + if (!eProducao) { + app = `DEV-${app}` + } - if (__filename && typeof process != "undefined" && process.cwd()) { - __filename = __filename.replace(process.cwd(), "") - } - if (local) { - detalhes = [`${nomeVariavel({ local })}="${local}"`] - } + if (__filename && typeof process != "undefined" && process.cwd()) { + __filename = __filename.replace(process.cwd(), "") + } + if (local) { + detalhes = [`${nomeVariavel({ local })}="${local}"`] + } - if (__filename) { - detalhes = [`${nomeVariavel({ __filename })}="${__filename}"`] - } + if (__filename) { + detalhes = [`${nomeVariavel({ __filename })}="${__filename}"`] + } - const timestamp = `${Date.now()}000000` + const timestamp = `${Date.now()}000000` - const mainLog = detalhes?.length - ? `${mensagem} | ${detalhes.map((d) => JSON.stringify(d)).join(" ")}` - : mensagem + 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 payload = { + stream: { app, inquilino, usuario, level }, + values: [ + [ + timestamp, + mainLog, // Linha de log direta + ], + ], + } - const response = await crossFetch(`${LOKI_BASE_URL}${LOKI_ENDPOINT}`, { - method: "POST", - headers: { "Content-Type": "application/json" }, - body: JSON.stringify({ streams: [payload] }), - }) + const response = await crossFetch(`${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"), + if (!response.ok) { + throw new Error(`Erro ${response.status}: ${await response.text()}`) } } diff --git a/src/teste.ts b/src/teste.ts index 3d62b99..3be080e 100644 --- a/src/teste.ts +++ b/src/teste.ts @@ -2,10 +2,10 @@ import { logger } from "./logger" const l = logger({ app: "teste", eProducao: true }) -const { error, info } = l({ +const lg = l({ inquilino: "conta_1", usuario: "pedrinho", }) -error("Deu Ruim") -info("Deu Bom", { __filename }) +lg("error", "Deu Ruim") +lg("info", "Deu Bom", { __filename })