1.2.7 • Published 5 months ago

@frexco-digital/logger v1.2.7

Weekly downloads
-
License
UNLICENSED
Repository
github
Last release
5 months 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"}

Configurando alerta para o projeto

criar arquivo na raiz do projeto alertconfig.json

{
  "app_name": "nome_do_app",
  "group": "exemplo"
}

Exemplo de group: "ameixa", "ms"

Para alerta você pode seguir o exemplo.

// AnyService.js

import { Logger } from '@frexco-digital/logger';
const logger = new Logger()

logger.error("mensagen de error", { statusCode: 404, data: err });
logger.error("messagen de error que não quero enviar", { alert: false, data: { error: "" } })

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.

//middleware.js

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.7

5 months ago

1.2.6

5 months ago

1.2.5

5 months ago

1.2.4

2 years ago

1.2.3

2 years ago

1.2.2

2 years ago

1.2.0

2 years ago

1.2.1

2 years ago

1.1.9

2 years ago

1.1.8

2 years ago

1.1.7

2 years ago

1.1.6

2 years ago

1.1.5

2 years ago

1.1.4

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago