UNPKG

log4js

Version:
40 lines (32 loc) 897 B
'use strict'; const Slack = require('slack-node'); function slackAppender(_config, layout, slack) { return (loggingEvent) => { const data = { channel_id: _config.channel_id, text: layout(loggingEvent, _config.timezoneOffset), icon_url: _config.icon_url, username: _config.username }; /* eslint no-unused-vars:0 */ slack.api('chat.postMessage', { channel: data.channel_id, text: data.text, icon_url: data.icon_url, username: data.username }, (err, response) => { if (err) { throw err; } }); }; } function configure(_config, layouts) { const slack = new Slack(_config.token); let layout = layouts.basicLayout; if (_config.layout) { layout = layouts.layout(_config.layout.type, _config.layout); } return slackAppender(_config, layout, slack); } module.exports.configure = configure;