Bug:Fix file validation issue
[vnfsdk/refrepo.git] / vnfmarket / src / main / webapp / vnfmarket / node_modules / log4js / lib / appenders / slack.js
1 "use strict";
2 var Slack = require('slack-node');
3 var layouts = require('../layouts');
4 var layout;
5
6 var slack, config;
7
8 function slackAppender(_config, _layout) {
9
10     layout = _layout || layouts.basicLayout;
11
12     return function (loggingEvent) {
13
14         var data = {
15             channel_id: _config.channel_id,
16             text: layout(loggingEvent, _config.timezoneOffset),
17             icon_url: _config.icon_url,
18             username: _config.username
19         };
20
21         slack.api('chat.postMessage', {
22             channel: data.channel_id,
23             text: data.text,
24             icon_url: data.icon_url,username: data.username}, function (err, response) {
25             if (err) { throw err; }
26         });
27
28     };
29 }
30
31 function configure(_config) {
32
33     if (_config.layout) {
34         layout = layouts.layout(_config.layout.type, _config.layout);
35     }
36
37     slack = new Slack(_config.token);
38
39     return slackAppender(_config, layout);
40 }
41
42 exports.name      = 'slack';
43 exports.appender = slackAppender;
44 exports.configure = configure;