yy-axios-logger-mysql

1.3.0 • Public • Published

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(11NOT 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(11NOT NULL AUTO_INCREMENT;
 

API Reference

Param Type Description Options
host String MySQL connection host url.
user String MySQL user.
password String MySQL user password.
database String MySQL database name.
port String MySQL connection port.
table String MySQL table where the logs will be stored.
excludeColumns Array Exclude parameters that you don't need on your logs. ['method', 'host', 'path', 'requestheaders', 'requestQuery', 'requestBody','responseStatus', 'responseHeaders', 'responseBody', 'responseError', 'responseTime', 'createdAt',]
allInstances Boolean Support 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

Package Sidebar

Install

npm i yy-axios-logger-mysql

Weekly Downloads

0

Version

1.3.0

License

ISC

Unpacked Size

12.2 kB

Total Files

7

Last publish

Collaborators

  • yan170772286