e-cloud 9cc3a88bd7 refactor: more small refactor
1. drop semver related code with no need to detect node version
2. drop license declaration in log4js.js for there is one in the project dir
3. other changes
2016-07-16 13:49:24 +08:00

46 lines
996 B
JavaScript

'use strict';
const layouts = require('../layouts');
const mailgunFactory = require('mailgun-js');
let layout;
let config;
let mailgun;
function mailgunAppender(_config, _layout) {
config = _config;
layout = _layout || layouts.basicLayout;
return loggingEvent => {
const data = {
from: _config.from,
to: _config.to,
subject: _config.subject,
text: layout(loggingEvent, config.timezoneOffset)
};
/* eslint no-unused-vars:0 */
mailgun.messages().send(data, (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 = mailgunFactory({
apiKey: _config.apikey,
domain: _config.domain
});
return mailgunAppender(_config, layout);
}
module.exports.appender = mailgunAppender;
module.exports.configure = configure;