1.0.5 • Published 1 year ago

findme-logger-test v1.0.5

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

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

Eslint

Para rodar o eslint no código fonte, rodar o seguinte comando no diretório raiz do repositório:

$ npm run fix

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

Integrando 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

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);

Gerando 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)

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!");
1.0.5

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago