logger-test-frexco
v1.2.5
Published
Test log library
Readme
Frexco Logger
Biblioteca de logs da Frexco
Índice
Instalando frexco-logger
Instalação com npm
$ npm i @frexco-digital/loggerInstalação com yarn
$ yarn add @frexco-digital/loggerIniciando 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
| Tipo | Descrição |
| ---- | --------- |
|info| Logs com informações de negócio e de fluxo interessantes ao monitoramento. |
|error| Logs de erro do serviço. |
|warn| Aqui você informa que ocorreram falhas, mas mesmo assim os processos e fluxos podem continuar. |
|debug| São usados em situações que você quer informações muito detalhadas de um processo ou fluxo. |
|http| Log 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();
