neotoma/sync-server

View on GitHub
app/lib/winstonMailerTransport.js

Summary

Maintainability
A
0 mins
Test Coverage
var mailer = require('./mailer');
var util = require('util');
var winston = require('winston');

var transport = function(options) {
  this.name = 'mailerLogger';
  this.level = (options && options.level) ? options.level : 'warn';
};

util.inherits(transport, winston.Transport);

transport.prototype.log = function(level, msg, meta, done) {
  if (process.env.SYNC_SERVER_MAILER_LOGGER_EMAIL) {
    mailer.sendMail({
      to: process.env.SYNC_SERVER_MAILER_LOGGER_EMAIL,
      subject: process.env.SYNC_SERVER_NAME + ' event: ' + msg,
      text: msg + '\n\n' + JSON.stringify(meta)
    }, function(error) {
      done(error, true);
    });
  }
};

module.exports = transport;