aboutsummaryrefslogtreecommitdiffstats
path: root/vnfmarket/src/main/webapp/vnfmarket/node_modules/log4js/lib/appenders/mailgun.js
blob: c2f3f56fe252b8abb0d0ad71decde5148e079c2f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
"use strict";
var layouts = require('../layouts');
var layout;
var config;
var mailgun;

function mailgunAppender(_config, _layout) {

    config = _config;
    layout = _layout || layouts.basicLayout;

    return function (loggingEvent) {

        var data = {
            from: _config.from,
            to: _config.to,
            subject: _config.subject,
            text: layout(loggingEvent, config.timezoneOffset)
        };

        mailgun.messages().send(data, function (error, body) {
            if (error !== null) console.error("log4js.mailgunAppender - Error happened", error);
        });
    };
}

function configure(_config) {
    config = _config;

    if (_config.layout) {
        layout = layouts.layout(_config.layout.type, _config.layout);
    }

    mailgun = require('mailgun-js')({
        apiKey: _config.apikey,
        domain: _config.domain
    });

    return mailgunAppender(_config, layout);
}

exports.appender = mailgunAppender;
exports.configure = configure;