This commit is contained in:
Luiz Silva 2025-02-21 15:11:01 -03:00
parent 3c8aa13a5e
commit b5f932ab33
8 changed files with 25 additions and 14 deletions

7
dist/logger.d.ts vendored
View file

@ -3,13 +3,14 @@ interface LogOptions {
conta?: string;
usuario?: string;
detalhes?: unknown[];
eProdicao: boolean;
}
export declare const logger: {
/** 🟢 Informação geral */
info: (message: string, options?: LogOptions) => Promise<void>;
info: (mensagem: string, options: LogOptions) => Promise<void>;
/** 🟡 Aviso/atenção necessária */
warn: (message: string, options?: LogOptions) => Promise<void>;
warn: (mensagem: string, options: LogOptions) => Promise<void>;
/** 🔴 Erro crítico na execução */
error: (message: string, options?: LogOptions) => Promise<void>;
error: (mensagem: string, options: LogOptions) => Promise<void>;
};
export {};

10
dist/logger.js vendored
View file

@ -8,14 +8,18 @@ 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 (message, options = {}) => {
const sendToLoki = async (mensagem, options) => {
if (!options.eProdicao) {
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
? `${message} | ${detalhes.map((d) => JSON.stringify(d)).join(" ")}`
: message;
? `${mensagem} | ${detalhes.map((d) => JSON.stringify(d)).join(" ")}`
: mensagem;
const payload = {
stream: { app, conta, usuario, level },
values: [

2
dist/logger.js.map vendored
View file

@ -1 +1 @@
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAoC;AAEpC,MAAM,aAAa,GAAG,qBAAqB,CAAA;AAC3C,MAAM,aAAa,GAAG,mBAAmB,CAAA;AAqBzC,MAAM,YAAY,GAAG,CAAC,KAAe,EAAE,EAAE;IACvC,MAAM,UAAU,GAAG,KAAK,EAAE,OAAe,EAAE,UAAsB,EAAE,EAAE,EAAE;QACrE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,OAAO,CAAA;QACtD,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAA;QAEvC,IAAI,CAAC;YACH,mCAAmC;YACnC,MAAM,OAAO,GACX,QAAQ,CAAC,MAAM,GAAG,CAAC;gBACjB,CAAC,CAAC,GAAG,OAAO,MAAM,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;gBACpE,CAAC,CAAC,OAAO,CAAA;YAEb,MAAM,OAAO,GAAe;gBAC1B,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;gBACtC,MAAM,EAAE;oBACN;wBACE,SAAS;wBACT,OAAO,EAAE,sBAAsB;qBAChC;iBACF;aACF,CAAA;YAED,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAU,EAAC,GAAG,aAAa,GAAG,aAAa,EAAE,EAAE;gBACpE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;aAC7C,CAAC,CAAA;YAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YACtE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAA;QAClD,CAAC;IACH,CAAC,CAAA;IAED,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAEY,QAAA,MAAM,GAAG;IACpB,0BAA0B;IAC1B,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC;IAC1B,kCAAkC;IAClC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC;IAC1B,kCAAkC;IAClC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC;CAC7B,CAAA"}
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAoC;AAEpC,MAAM,aAAa,GAAG,qBAAqB,CAAA;AAC3C,MAAM,aAAa,GAAG,mBAAmB,CAAA;AAsBzC,MAAM,YAAY,GAAG,CAAC,KAAe,EAAE,EAAE;IACvC,MAAM,UAAU,GAAG,KAAK,EAAE,QAAgB,EAAE,OAAmB,EAAE,EAAE;QACjE,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YACvB,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAA;YACrC,OAAM;QACR,CAAC;QAED,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,QAAQ,GAAG,EAAE,EAAE,GAAG,OAAO,CAAA;QACtD,MAAM,SAAS,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAA;QAEvC,IAAI,CAAC;YACH,mCAAmC;YACnC,MAAM,OAAO,GACX,QAAQ,CAAC,MAAM,GAAG,CAAC;gBACjB,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;gBACrE,CAAC,CAAC,QAAQ,CAAA;YAEd,MAAM,OAAO,GAAe;gBAC1B,MAAM,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE;gBACtC,MAAM,EAAE;oBACN;wBACE,SAAS;wBACT,OAAO,EAAE,sBAAsB;qBAChC;iBACF;aACF,CAAA;YAED,MAAM,QAAQ,GAAG,MAAM,IAAA,qBAAU,EAAC,GAAG,aAAa,GAAG,aAAa,EAAE,EAAE;gBACpE,MAAM,EAAE,MAAM;gBACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE;gBAC/C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;aAC7C,CAAC,CAAA;YAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gBACjB,MAAM,IAAI,KAAK,CAAC,QAAQ,QAAQ,CAAC,MAAM,KAAK,MAAM,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;YACtE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAA;QAClD,CAAC;IACH,CAAC,CAAA;IAED,OAAO,UAAU,CAAA;AACnB,CAAC,CAAA;AAEY,QAAA,MAAM,GAAG;IACpB,0BAA0B;IAC1B,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC;IAC1B,kCAAkC;IAClC,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC;IAC1B,kCAAkC;IAClC,KAAK,EAAE,YAAY,CAAC,OAAO,CAAC;CAC7B,CAAA"}

2
dist/teste.js vendored
View file

@ -1,5 +1,5 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const logger_1 = require("./logger");
logger_1.logger.error("Esse é um erro", { app: "teste" });
logger_1.logger.error("Esse é um erro", { app: "teste", eProdicao: true });
//# sourceMappingURL=teste.js.map

2
dist/teste.js.map vendored
View file

@ -1 +1 @@
{"version":3,"file":"teste.js","sourceRoot":"","sources":["../src/teste.ts"],"names":[],"mappings":";;AAAA,qCAAiC;AAEjC,eAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAA"}
{"version":3,"file":"teste.js","sourceRoot":"","sources":["../src/teste.ts"],"names":[],"mappings":";;AAAA,qCAAiC;AAEjC,eAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,EAAE,GAAG,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA"}

View file

@ -1,6 +1,6 @@
{
"name": "p-comuns",
"version": "0.72.0",
"version": "0.73.0",
"description": "",
"main": "dist/index.js",
"scripts": {

View file

@ -10,6 +10,7 @@ interface LogOptions {
conta?: string
usuario?: string
detalhes?: unknown[]
eProdicao: boolean
}
interface LokiStream {
@ -23,7 +24,12 @@ interface LokiStream {
}
const createLogger = (level: LogLevel) => {
const sendToLoki = async (message: string, options: LogOptions = {}) => {
const sendToLoki = async (mensagem: string, options: LogOptions) => {
if (!options.eProdicao) {
console.log(level, mensagem, options)
return
}
const { app, conta, usuario, detalhes = [] } = options
const timestamp = `${Date.now()}000000`
@ -31,8 +37,8 @@ const createLogger = (level: LogLevel) => {
// Formata a linha de log principal
const mainLog =
detalhes.length > 0
? `${message} | ${detalhes.map((d) => JSON.stringify(d)).join(" ")}`
: message
? `${mensagem} | ${detalhes.map((d) => JSON.stringify(d)).join(" ")}`
: mensagem
const payload: LokiStream = {
stream: { app, conta, usuario, level },

View file

@ -1,3 +1,3 @@
import { logger } from "./logger"
logger.error("Esse é um erro", { app: "teste" })
logger.error("Esse é um erro", { app: "teste", eProdicao: true })