mirror of
https://github.com/log4js-node/log4js-node.git
synced 2026-02-01 15:59:19 +00:00
44 lines
985 B
JavaScript
44 lines
985 B
JavaScript
"use strict";
|
|
var layouts = require('../layouts');
|
|
var layout;
|
|
var config;
|
|
var mailgun = require('mailgun-js');
|
|
|
|
|
|
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.apiKey = config.apikey;
|
|
mailgun.domain = config.domain;
|
|
|
|
return mailgunAppender(_config, layout);
|
|
}
|
|
|
|
exports.appender = mailgunAppender;
|
|
exports.configure = configure;
|
|
|