melhorias em logger
This commit is contained in:
parent
36d3cc6aa4
commit
79a83fe158
8 changed files with 79 additions and 97 deletions
7
dist/logger.d.ts
vendored
7
dist/logger.d.ts
vendored
|
|
@ -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<void>;
|
||||
warn: (mensagem: string, op_tipoLog?: tipoLog) => Promise<void>;
|
||||
error: (mensagem: string, op_tipoLog?: tipoLog) => Promise<void>;
|
||||
};
|
||||
}) => ({ inquilino, usuario }: tipoOpSessao) => (level: tipoLevel, mensagem: string, op_tipoLog?: tipoLog) => Promise<void>;
|
||||
export {};
|
||||
|
|
|
|||
73
dist/logger.js
vendored
73
dist/logger.js
vendored
|
|
@ -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
|
||||
2
dist/logger.js.map
vendored
2
dist/logger.js.map
vendored
|
|
@ -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"}
|
||||
{"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"}
|
||||
6
dist/teste.js
vendored
6
dist/teste.js
vendored
|
|
@ -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
|
||||
2
dist/teste.js.map
vendored
2
dist/teste.js.map
vendored
|
|
@ -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"}
|
||||
{"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"}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "p-comuns",
|
||||
"version": "0.79.0",
|
||||
"version": "0.80.0",
|
||||
"description": "",
|
||||
"main": "dist/index.js",
|
||||
"scripts": {
|
||||
|
|
|
|||
|
|
@ -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()}`)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 })
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue