1.2.5 • Published 1 year ago

logger-test-frexco v1.2.5

Weekly downloads
-
License
UNLICENSED
Repository
-
Last release
1 year ago

Frexco Logger

Biblioteca de logs da Frexco

Índice


Instalando frexco-logger

Instalação com npm

$ npm i @frexco-digital/logger

Instalação com yarn

$ yarn add @frexco-digital/logger

Iniciando com logs


import { Logger } from '@frexco-digital/logger';

const logger = new Logger()

logger.error("Minha mensagem de erro", { statusCode: 401, data: { message: "invalid-token" } })

2022-08-29 22:48:47 | ERROR | Minha mensagem de erro | STATUSCODE 401 | {"message": "invalid-token"}

Alerta com logs


Configurando o projeto

criar arquivo na raiz do projeto alertconfig.json

{
  "prd": "App Name"
}

No Projeto

adicionar alert: true, no error

import { Logger } from '@frexco-digital/logger';

const logger = new Logger()

logger.error("Minha mensagem de erro", { statusCode: 401, data: { message: "invalid-token" }, alert: true })

Tipos de logs


TipoDescrição
infoLogs com informações de negócio e de fluxo interessantes ao monitoramento.
errorLogs de erro do serviço.
warnAqui você informa que ocorreram falhas, mas mesmo assim os processos e fluxos podem continuar.
debugSão usados em situações que você quer informações muito detalhadas de um processo ou fluxo.
httpLog genérico para ter informações da requisição.

Parâmetros da função

  info: (message: string, options?: { data?: any; statusCode?: number }) => void;

Criando middleware de logs


Implementando middleware nas libs express e nestjs.

import { Request, Response, NextFunction } from 'express';
import { Logger } from '@frexco-digital/logger';

const logger = new Logger();

export default function loggerMiddleware(request: Request, response: Response, next:NextFunction) {
  const { method, url } = request;

  response.on('finish', () => {
    const ip = request.ip.split(':')[3];
    const { statusCode } = response;
    
    //Exemplo de log
    logger.http(`${ip} ${method} ${url}`, { statusCode });
  });

  next();
}
//main.ts

import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
import { loggerMiddleware } from './middleware';

async function bootstrap() {
  const app = await NestFactory.create(AppModule);
  app.setGlobalPrefix('api');
  app.enableCors({ origin: '*' });
  app.use(loggerMiddleware);
  await app.listen(process.env.PORT);
}

bootstrap();
1.2.5

1 year ago

1.2.0

1 year ago

1.1.5

1 year ago

1.1.3

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

0.3.0

1 year ago

0.2.9

1 year ago

0.2.5

1 year ago

0.2.1

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago

0.0.7

1 year ago

0.0.6

1 year ago

0.0.5

1 year ago

0.0.4

1 year ago

0.0.3

1 year ago

0.0.1

1 year ago

0.0.0

1 year ago