diff --git a/modules/logging.js b/modules/logging.js index 2adea53..34f8394 100644 --- a/modules/logging.js +++ b/modules/logging.js @@ -1,9 +1,19 @@ var logging = function(dbot) { - var logMessage = function(message) { + var logMessage = function(message, channel) { if(!(dbot.hasOwnProperty('log'))) { - dbot['log'] = []; + dbot['log'] = {}; } - dbot.log.push([Date.now(), message]); + + if(channel) { + channel = channel.toLowerCase(); + } else { + channel = '@'; // it's a logger message, shouldn't go in any channel. hence, invalid channel name '@' + } + + if(!(dbot.log.hasOwnProperty(channel))) { + dbot.log[channel] = []; + } + dbot.log[channel].push([Date.now(), message]); }; return { @@ -30,7 +40,7 @@ var logging = function(dbot) { 'eventType': eventType, 'data': data } - }); + }, data.channel); }, 'on': ['JOIN', 'PART', 'KICK', 'PRIVMSG', 'MODE'] }; diff --git a/modules/web.js b/modules/web.js index a6bd581..639eba2 100644 --- a/modules/web.js +++ b/modules/web.js @@ -18,7 +18,12 @@ var webInterface = function(dbot) { // Displays any logs collected by the logging module app.get('/log', function(req, res) { - res.render('log', { 'name': dbot.name, 'log': (dbot.log || []) }); + res.redirect('/log/identicurse'); + }); + + app.get('/log/:channel', function(req, res) { + var channel = '#' + req.params.channel.toLowerCase(); + res.render('log', { 'name': dbot.name, 'log': (dbot.log[channel] || []), 'channel': channel }); }); // Lists the quote categories