2 var Slack = require('slack-node');
3 var layouts = require('../layouts');
8 function slackAppender(_config, _layout) {
10 layout = _layout || layouts.basicLayout;
12 return function (loggingEvent) {
15 channel_id: _config.channel_id,
16 text: layout(loggingEvent, _config.timezoneOffset),
17 icon_url: _config.icon_url,
18 username: _config.username
21 slack.api('chat.postMessage', {
22 channel: data.channel_id,
24 icon_url: data.icon_url,username: data.username}, function (err, response) {
25 if (err) { throw err; }
31 function configure(_config) {
34 layout = layouts.layout(_config.layout.type, _config.layout);
37 slack = new Slack(_config.token);
39 return slackAppender(_config, layout);
42 exports.name = 'slack';
43 exports.appender = slackAppender;
44 exports.configure = configure;