npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

findme-logger

v1.3.10

Published

Findme-logger é uma biblioteca que fornece middlewares de acesso de requisição e erros para consoles da aplicação

Downloads

578

Readme

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