1.3.0 • Published 2 years ago

yy-axios-logger-mysql v1.3.0

Weekly downloads
5
License
ISC
Repository
github
Last release
2 years ago

Axios Logger MySQL

npm

A Axios interceptor that logs all axios requests and responses to a MySQL table.

Couldn't find one when I was working on a nodejs project so I built this off Yoctol's MongoDB version. Hope it helps :)

Installation

Install using npm:

npm install axios-logger-mysql

Run the SQL below to insert table holds the request logs

CREATE TABLE `requestlogs` (
  `id` int(11) NOT NULL,
  `method` varchar(255) DEFAULT NULL,
  `host` varchar(255) DEFAULT NULL,
  `path` text DEFAULT NULL,
  `requestheaders` text,
  `requestQuery` text,
  `requestBody` text,
  `responseStatus` text,
  `responseHeaders` text,
  `responseBody` text,
  `responseError` text,
  `responseTime` varchar(255) DEFAULT NULL,
  `createdAt` varchar(255) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
ALTER TABLE `requestlogs`
  ADD PRIMARY KEY (`id`),
  ADD KEY `host` (`host`),
  ADD KEY `createdAt` (`createdAt`);

ALTER TABLE `requestlogs` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;

API Reference

ParamTypeDescriptionOptions
hostStringMySQL connection host url.
userStringMySQL user.
passwordStringMySQL user password.
databaseStringMySQL database name.
portStringMySQL connection port.
tableStringMySQL table where the logs will be stored.
excludeColumnsArrayExclude parameters that you don't need on your logs.'method', 'host', 'path', 'requestheaders', 'requestQuery', 'requestBody','responseStatus', 'responseHeaders', 'responseBody', 'responseError', 'responseTime', 'createdAt',
allInstancesBooleanSupport all of axios instances or not.

Usage

const { useMysqlLogger } = require('axios-logger-mysql');

useMysqlLogger(axios, {
  host: '',
  user: '',
  password: '',
  database:'',
  table:'requestlogs',
  excludeColumns:['']
});

To support all of axios instances, set option allInstances to true:

useMysqlLogger(axios, {
  host: '',
  user: '',
  password: '',
  database:'',
  table:'requestlogs',
  excludeColumns:['']
  allInstances: true,
});

Credits

1.3.0

2 years ago

1.2.0

2 years ago

1.1.0

2 years ago

1.0.0

2 years ago