Neatly Punctuated Musings

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

    0.15.0 • Public • Published


    Print the express request log to console and save it to kafka and mongodb when required, and even can send alram message when the response code greater than 500.

    npm version build status David deps Test coverage node version


    npm install @yunnysunny/request-logging --save


    const express = require('express');
    const path = require('path');
    const bodyParser = require('body-parser');
    const requestLog = require('@yunnysunny/request-logging');
    const app = express();
    app.enable('trust proxy');
    // view engine setup
    app.set('port', port);
    app.use(bodyParser.json({limit: '1mb'}));
        extended: false,
        limit: '1mb'


    See api document.


    If you want to save request logging to mongodb, this is the fields description, which you will used to create a mongoose schema:

    name type description
    hostname String The domain of current server.
    original_url String The original url contains query string.
    path String The request path doesn't contain query string.
    user_agent String The user agent.
    custom_headers Object The specific you wanna save.
    method String The http request method.
    ip String The client's ip.
    host String The server's ip.
    duration Number The millisecond the request costed.
    pid Number The server's process id.
    req_id Number The inner request number, auto increased when new request come.
    content_length_req Number The content-length of the request headers.
    content_length Number The content-length of the response headers.
    status_code Number The status code of current HTTP response.
    res_code Number The inner response code, which will be got from the response header of res-code.
    res_data Object The reponse data.
    req_time Number The timestamp of begin time of current request occured.
    req_time_string String The time of begin time, formated in ISO 8601 Extended Format.
    req_data Object The request data, which would form query string or form data.
    referer String The HTTP referer header.
    session Object The session of current request.
    aborted Boolean Whether the request has aborted.

    We suggest you use such mongoose schema, which is compatible when the fields is changed:

    const {Schema} = require('mongoose');
    const requestLogSchema =  new Schema({
        req_time: Date
        timestamps: {
            createdAt: 'created_at',
            updatedAt : 'updated_at'
        strict: false
    module.exports = requestLogSchema;




    npm i @yunnysunny/request-logging

    DownloadsWeekly Downloads






    Unpacked Size

    234 kB

    Total Files


    Last publish


    • yunnysunny