findme-logger
TypeScript icon, indicating that this package has built-in type declarations

1.3.10 • Public • Published

Findme-logger

Findme-logger é uma biblioteca que fornece middlewares de acesso de requisição e erros para consoles da aplicação, de forma personalizada e configurável. Para sua construção foi utilizado: winston, express-winston e winston-loki.

NodeJS Typescript Jest

Instalar

Para instalar a biblioteca, basta rodar no diretório raiz da aplicação desejada o seguinte comando:

$ npm i findme-logger

Compilação

Para compilar o código fonte em typescript, rodar o seguindo comando no diretório raiz do repositório:

$ npm run compile

Após rodar o comando, será gerado um novo diretório "dist" contendo os arquivos do código fonte compilados para javascript.

Deploy

Para subir a versão atual para o NPM, rodar o seguinte comando no diretório raiz do repositório:

$ npm run deploy

Testes

Para rodar os testes no repositório, rodar o seguinte comando no diretório raiz:

$ npm run test

Habilitando integração com o Loki

Para configurar a integração do package com o Loki corretamente, será necessário incluir as seguintes variáveis de ambiente em seu projeto:

LOKI_ENABLED=false                                      # Habilitar ou desabilitar o Loki
LOKI_ENV_TO_SEND="production, staging, sandbox"         # Variáveis de ambiente onde será necessário enviar logs para o Loki
LOKI_HOST="http://example.com/1234"                     # Loki Host URL
LOKI_BASIC_AUTH="12345"                                 # Loki Basic Auth Hash
LOKI_LABEL_JOB="cloud-run"                              # Loki Job Label
LOKI_LABEL_APP="service-demand"                         # Loki App Label
LOKI_LABEL_ENV="sandbox"                                # Loki Env Label
LOKI_INTERVAL=5                                         # Loki Interval

Habilitando geração de arquivo de log

Para habilitar a geração do arquivo .log ao ser disparado os middlewares, será necessário inserir as seguintes variáveis de ambiente em seu projeto:

LOG_FILE_ENABLED="true"                         # Ativa ou desativa a criação do arquivo .log quando o usuário disparar um middleware
LOG_FILE_PATH="./logs/console.log"              # Caminho que será criado o arquivo.log (opcional)

Habilitando log no console da aplicação

Para habilitar o log de requisições no console da aplicação ao ser disparado os middlewares, será necessário inserir a seguinte variável de ambiente em seu projeto:

CONSOLE_ENABLED="true"

Logger Middleware de Requisição de acesso

Para configurar o filtro de dados inseridos no layout do logger, será necessário alterar as seguintes variáveis de ambiente em seu projeto:

LOG_IGNORED_ROUTES="/favicon.ico, /hello"              # Rotas da aplicação que serão ignoradas no middleware de acesso
LOG_HEADER_BLACK_LIST="authorization, cookie"          # Atributos do header que serão ignorados nos dados logados do middleware de acesso
LOG_BODY_BLACK_LIST="rows, attachments"                # Atributos do body que serão ignorados nos dados logados do middleware de acesso

Para inicializar o middleware logger junto à aplicação, terá que inserir sua instância no arquivo server.(js|ts), antes da definição das rotas do servidor:

import { loggerMiddleware } from "findme-logger";
import express from 'express';
import routes from "./routes";

const server = express();

server.use(loggerMiddleware);
server.use(routes);

Logger Middleware de erros

Para inicializar o middleware error junto à aplicação, terá que inserir sua instância no arquivo server.(js|ts), após a definição das rotas do servidor:

import { errorLoggerMiddleware } from "findme-logger";
import express from 'express';
import routes from "./routes";

const server = express();

server.use(routes);
server.use(errorLoggerMiddleware);

Logger manual

Para disparar um logger manual, basta importar a instância do loggerFactory em qualquer arquivo e utilizá-lo:

import { loggerFactory } from "findme-logger";

const logger = loggerFactory();

logger.info("Este é um log de informação!");
logger.error("Este é um log de erro!");

Readme

Keywords

none

Package Sidebar

Install

npm i findme-logger

Weekly Downloads

20

Version

1.3.10

License

none

Unpacked Size

13.3 kB

Total Files

14

Last publish

Collaborators

  • findmeid