Cómo utilizar Morgan en tu proyecto Express

Introducción

Índice
  1. Introducción
  • Prerrequisitos
  • Paso 1 – Configuración del proyecto
  • Paso 2 – Uso de Morgan en Express
  • Paso 3 – Creando tus propios tokens
  • Paso 4: Diseño de tokens con argumentos personalizados
  • Conclusión
  • Morgan es un middleware de Node.js y Express que registra solicitudes HTTP y errores, y simplifica el proceso. En Node.js y Express, el middleware es una función que tiene acceso a los métodos de ciclo de vida requesty responsede ejecución, y al next()método para continuar la lógica en su servidor Express.

    En este artículo explorará cómo implementar Morgan en su proyecto Express.

    Prerrequisitos

    Para seguir este artículo necesitarás:

    • Se recomienda tener conocimientos generales de Node.js, pero no es obligatorio. Para obtener más información sobre Node.js, consulta nuestra serie Cómo codificar en Node.js.
    • Node.js instalado localmente, lo cual puedes hacer siguiendo Cómo instalar Node.js y crear un entorno de desarrollo local .

    Paso 1 – Configuración del proyecto

    Como Express.js es un marco de Node.js, asegúrese de tener la última versión de Node.js antes de continuar.

    Para incluir a Morgan en su proyecto Express, deberá instalarlo como una dependencia.

    Crea un nuevo directorio con el nombre express-morgande tu proyecto:

    1. mkdir express-morgan

    Cambiar al nuevo directorio:

    1. cd express-morgan

    Inicialice un nuevo proyecto de Node con valores predeterminados. Esto incluirá su package.jsonarchivo para acceder a sus dependencias:

    1. npm init -y

    Instalar morgan como dependencia:

    1. npm install morgan --save

    Crea tu archivo de entrada. index.jsAquí es donde manejarás la lógica en tu servidor Express:

    1. touch index.js

    Ahora que ha agregado Morgan a su proyecto, incluyámoslo en su servidor Express. En su index.jsarchivo, cree una instancia de Express y solicite morgan:

    índice.js

    const express = require('express');const morgan = require('morgan');const app = express();app.listen(3000, () = {    console.debug('App listening on :3000');});

    Ahora que su servidor Express está configurado, veamos cómo usar Morgan para agregar el registro de solicitudes.

    Paso 2 – Uso de Morgan en Express

    Para utilizar morgan en su servidor Express, puede invocar una instancia y pasarla como argumento en el .use()middleware antes de sus solicitudes HTTP. morgan viene con un conjunto de valores preestablecidos, o cadenas de formato predefinidas, para crear un nuevo middleware de registrador con formato y opciones integrados. El valor preestablecido tinyproporciona la salida mínima al registrar solicitudes HTTP.

    En su index.jsarchivo, invoque el app.use()middleware Express y pase morgan()como argumento:

    índice.js

    const app = express();app.use(morgan('tiny'));

    Incluir el ajuste preestablecido tinycomo argumento morgan()utilizará su método integrado, identificará la URL, declarará un estado y el tiempo de respuesta de la solicitud en milisegundos.

    Alternativamente, Morgan lee ajustes preestablecidos como tinyen una cadena de formato definida a continuación:

    morgan(':method :url :status :res[content-length] - :response-time ms');

    Esto tiende a la misma funcionalidad contenida en el tinyvalor preestablecido en un formato que Morgan analiza. Después del :símbolo se encuentran las funciones de Morgan llamadas tokens. Puede utilizar la cadena de formato para definir tokens y crear su propio middleware de Morgan personalizado.

    Paso 3 – Creando tus propios tokens

    Los tokens en morgan son funciones identificadas después del :símbolo. morgan te permite crear tus propios tokens con el .token()método.

    El .token()método acepta un tipo, o el nombre del token como primer argumento, después de una función de devolución de llamada. Morgan ejecutará la función de devolución de llamada cada vez que se produzca un registro utilizando el token. Como middleware, Morgan aplica los objetos reqy rescomo argumentos.

    En su index.jsarchivo, emplee el .token()método y pase un tipo como primer argumento después de una función anónima:

    índice.js

    morgan.token('host', function(req, res) {    return req.hostname;});

    La función de devolución de llamada anónima devolverá el hostnameobjeto reqcomo un nuevo token para usar en una solicitud HTTP en su servidor Express.

    Paso 4: Diseño de tokens con argumentos personalizados

    Para indicar argumentos personalizados, puede utilizar corchetes para definir los argumentos que se pasan a un token. Esto permitirá que sus tokens acepten argumentos adicionales. En su index.jsarchivo, aplique un argumento personalizado a la cadena de formato Morgan en el :paramtoken:

    índice.js

    app.use(morgan(':method :host :status :param[id] :res[content-length] - :response-time ms'));morgan.token('param', function(req, res, param) {    return req.params[param];});

    El argumento personalizado iddel :paramtoken en la invocación de Morgan incluirá la ID en el parámetro que sigue al .token()método.

    Conclusión

    Morgan permite flexibilidad al registrar solicitudes HTTP y actualiza el estado preciso y el tiempo de respuesta en cadenas de formato personalizadas o en valores preestablecidos. Para obtener más información, consulte la documentación de Morgan .

    SUSCRÍBETE A NUESTRO BOLETÍN 
    No te pierdas de nuestro contenido ni de ninguna de nuestras guías para que puedas avanzar en los juegos que más te gustan.

    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Subir

    Este sitio web utiliza cookies para mejorar tu experiencia mientras navegas por él. Este sitio web utiliza cookies para mejorar tu experiencia de usuario. Al continuar navegando, aceptas su uso. Mas informacion