0.6.1 • Published 2 years ago

@hexstudiosar/reqlogger v0.6.1

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

Logger Middleware

Middleware for request logging in a server.

Installation

npm install @hexstudiosar/reqlogger

Usage

const express = require('express');
const logger = require('@hexstudiosar/reqlogger');

const app = express();

// Add the request logging middleware
app.use(logger());

// Rest of your application configuration and routes
// ...

// Start the server
app.listen(3000, () => {
  console.log('Server is running on port 3000');
});

Options

The middleware accepts an option for the log style. The available options are:

// 'inline': Inline log that displays all details in a single line.
app.use(logger('inline'));
/*
  Output:
  [15:30:45] GET /home 200 15ms 1750
*/
// 'minified': Minimal log that displays only essential request details.
app.use(logger('minified'));
/*
  Output:
  GET /home 200 15ms
*/
// 'agent': Log focused on agent information (IP, User Agent, Referer).
app.use(logger('agent'));
/* 
  Output:
  [15:30:45] | AGENT LOG
    IP: ::1
    User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36
    Referer: Unknown
*/
// 'error': Inline log that displays only error requests details.
app.use(logger('error'));
/*
  Output:
  [15:30:45] GET /home6 404 9ms 143
*/
// 'default': Detailed log with all request details.
app.use(logger('default'));
/* 
  Output:
  [15:30:45] | REQUEST LOG
    Timestamp: 15:30:45
    Method: GET
    URL: /home
    Status: 200
    Time: 15ms
    IP: ::1
    Size: 1750
    User Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36
    Referer: Unknown
*/

If no logging style is specified, the default style will be used.

Custom option

By using this option, you can set a custom text to your log.

// 'custom': Use a custom style for the log.
app.use(logger('custom', {
  style: ":timestamp :method :status" // Custom text
}));
/* 
  Output:
  15:30:45 GET 200
*/

Use ; to set a specific color, use : to set a specific option.

Disponible customisation:

  • Options:

    • :timestamp (Timestamp of request: HH:MM:SS).
    • :method (Request method: GET, POST, PUT, DELETE, PATCH).
    • :url (Request url: /route).
    • :status (Request status code: 200, 304, 404, 500, etc).
    • :time (Request total time: MSms).
    • :ip (Request ip: XXX.XXX.XXX.XXX).
    • :size (Request content length).
    • :useragent (User agent browser).
    • :referer (Referer URL).
  • Colors:

    • ;reset (Reset color and markdown to default).
    • ;bright (Bright text, can be reset by using ;reset).
    • ;underscore (Underscore text, can be reset by using ;reset).
    • ;yellow (Yellow text).
    • ;green (Green text).
    • ;blue (Blue text).
    • ;red (Red text).
    • ;cyan (Cyan text).

License

This project is licensed under the MIT License.

0.6.1

2 years ago

0.6.0

2 years ago

0.5.7

2 years ago

0.5.6

2 years ago

0.5.5

2 years ago

0.5.4

2 years ago

0.5.3

2 years ago

0.5.2

2 years ago

0.5.1

2 years ago

0.5.0

2 years ago

0.4.8

2 years ago

0.4.6

2 years ago