historical-console
v0.0.1
Published
Keep a history of your javascript's console.* calls:
Downloads
6
Readme
historicalConsole.js
Keep a history of your javascript's console.* calls:
historicalConsole(function(console) {
console.debug(foo, 'asdf');
(function someName() {
console.info('function name test');
})();
})();
The resulting console.history:
[
['debug', {fooObj: 'O'}, 'asdf', 'caller:function(console) { console.debug(foo, '],
['info' , 'function name test' , 'caller:someName']
]
Recent history can then be bundled with error reports. Generating this console.history array is the point of this library.
Don't care about caller:names
? console.options.addCaller(false)
Function naming:
If you don't name your functions (or use coffeescript), I include the first 40 characters of the function's .toString value. Change the 40 char snippit length with: console.options.functionSnippetLength(30)
Track calls to alert:
historicalConsole(function(console, alert) {
Globally intercept console calls:
historicalConsole(function(console) {
window.console = console;
});
caller:null
means a function was called at the global scope (no function called it)
historicalConsole.noConflict
To play it super safe:
myModule.historicalConsole = historicalConsole.noConflict();
Integrate with other things:
Override console.history.add
with your own callback!
This function is called whenever any console.*
method is called.
For example, when you call console.log('foo')
, console.history.add
will be called with this one argument:
['log', 'foo', 'caller:someFunc']
Maybe you want to receive all entries and do something interesting wtih them:
historicalConsole(function(console) {
console.history.add = function consoleHistoryCallback(logStatement) {
//~whateva you want bro~
};
})();
The console.history
array will not exceed 200 entries, or whatever maximum you set:
console.options.consoleHistoryMaxLength(100);
TODO: console.dir, profile, and profileEnd
Other functions are exposed on the log object for your flexibility, if you want to understand and use these, read over the fully commented source below