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

http-crawl-logger

v1.1.3

Published

customized logger using the http protocol as transport

Downloads

22

Readme

Build Status

Http Crawl Logger

Implementación personalizada de un logger, utilizando como transporte el protocolo http.

La motivación de la implementación de dicho logger surge de la necesidad de enviar los logs hacia un servidor HTTP propio.

Esto requeria de utilizar un logger que soportara como transporte el protocolo HTTP y no utilizar un archivo o la consola.

Si bien existen loggers que poseen está funcionalidad, se deseaba que los logs tengan un formato especifico para su uso donde en cada log se especifica el modulo de donde proviene, la operación que se estaba realizando y el mensaje en cuestion.

Utilizando este formato, se pretende que la búsqueda/filtro de los logs sea mas sencilla.

Instalación

Ejecutar

npm install --save http-crawl-logger

Uso

Primero, en el modulo principal de su aplicación, configure el logger:

const Logger = require('http-crawl-logger');
Logger.config(host, port, path, options);

Los parametros del constructor son:

  • host - host en donde se encuentra el servidor que recibira los logs.
  • port - puerto en donde se encuentra el servidor que recibira los logs.
  • path - ruta o endpoint en donde se encuentra el servidor que recibira los logs, por ejemplo: /api/logs
  • options - objeto javascript, cuyas opciones son:
let options = {
    console: Boolean // habilita o deshabilita la impresión de los logs por la consola, por defecto es FALSE.
    colors: Boolean  // habilita o deshabilita los colores al imprimir en la consola, por defecto es TRUE.
    label: String    // etiqueta personalizada, se guarda en el atributo "component" del logger, por defecto es un "*".
};

Esta configuración quedara guardada por lo cual no necesitará hacerla cada vez que necesite utilizar el logger.

Luego, para utilizar el logger en cualquier otro modulo, hagalo de la siguiente manera:

const Logger = require('http-crawl-logger');
const logger = Logger.getInstance(moduleName);

// use
logger.log(level, operation, message);

// or
logger.info(operation, message);
logger.error(operation, message);
logger.warn(operation, message);
logger.debug(operation, message);

Donde:

  • moduleName - modulo JS que está utilizando el logger, pensado para separar e identificar de cada componente los diferentes modulos.
  • level - en caso de usar logger.log() se le debe indicar el tipo de log, los basicos son: info, error, warn y debug.
  • operation - operación que se estaba realizando al momento de realizar el log.
  • message - mensaje a registrar.

Eventos

El logger extiende de la clase EventEmitter de NodeJS, y al momento de realizar el log puede emitir dos eventos posibles:

  • logged - si el request HTTP se realizo correctamente.
  • error - si el request HTTP no se pudo realizar por algún motivo particular.