1.3.0 • Published 5 years ago
yy-axios-logger-mysql v1.3.0
Axios Logger MySQL
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
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
- C. T. Lin - The original creator of theMongoDB version