blob: 41ee19d175aa8a5a1825a01089237ebc05eb7470 [file] [log] [blame]
'use strict';
const mailgunFactory = require('mailgun-js');
function mailgunAppender(config, layout) {
const mailgun = mailgunFactory({
apiKey: config.apikey,
domain: config.domain
});
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, layouts) {
let layout = layouts.basicLayout;
if (config.layout) {
layout = layouts.layout(config.layout.type, config.layout);
}
return mailgunAppender(config, layout);
}
module.exports.configure = configure;