1.2.7 • Published 5 months ago
@frexco-digital/logger v1.2.7
Frexco Logger
Biblioteca de logs da Frexco
Índice
- Instalando frexco-logger
- Iniciando com logs
- Configurando alertas
- Tipos de logs
- Criando middleware de logs
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
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.
//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