node package manager


A Mysql Transport for winston (

A Mysql transport for winston.

  $ npm install winston
  $ npm install winston-mysql-transport

(or add it to your package.json)

First you must generate your log table

/*file : extras/schema.sql*/
CREATE TABLE IF NOT EXISTS `my_database`.`log_table` (
    `level` varchar(45) NOT NULL,
    `message` text NOT NULL,
    `timestamp` datetime NOT NULL,
    `meta` varchar(255),
    `hostname` varchar(255),
    PRIMARY KEY (`id`)

And in your code...

  var winston = require('winston');
  // Requiring `winston-mysql-transport` will expose 
  // `winston.transports.Mysql` 
  options = {
   database : "my_database",
   table : "log_table",
   user : "root"
  winston.add(winston.transports.Mysql, options);

You can find a list of options that you can pass here :

This transport does not support (yet) :

  • streaming
  • querying
  • Saving of metadata