pino-mysql-stream
About
Pino.js log to MySQL database.
Installation
npm install pino-mysql-stream
yarn add pino-mysql-stream
pnpm add pino-mysql-stream
Usage
1.First, Create a new table in the mysql database
CREATE TABLE `logs` (
`id` INT ( 11 ) NOT NULL AUTO_INCREMENT,
`level` TINYINT ( 4 ) DEFAULT NULL,
`time` TIMESTAMP NULL DEFAULT NULL,
`pid` SMALLINT ( 6 ) DEFAULT NULL,
`hostname` VARCHAR ( 50 ) DEFAULT NULL,
`msg` TEXT,
`req` JSON DEFAULT NULL,
`res` JSON DEFAULT NULL,
`err` JSON DEFAULT NULL,
`responseTime` INT ( 11 ) DEFAULT NULL,
PRIMARY KEY ( `id` )
) ENGINE = INNODB DEFAULT CHARSET = utf8 COMPRESSION = 'ZLIB';
2.Usage as a module
import { PinoMySQLStream } from 'pino-mysql-stream'
const dbConfig = {
host: <HOST>,
user: <USER>,
password: <PASSWORD>,
database: <DATABASE>
}
const log = pino(new PinoMySQLStream({ dbConfig }))
log.info("PinoMySQLStream log")
log.error("PinoMySQL Error")
options
{
dbConfig:dbConfig // database config
tablename: 'logs' // log table name, defalse 'logs'
}