mirror of
https://github.com/log4js-node/log4js-node.git
synced 2025-12-08 19:26:01 +00:00
36 lines
832 B
JavaScript
36 lines
832 B
JavaScript
'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;
|