Itay Gal Itay Gal - 9 months ago 34
Javascript Question

How to get the console.log content as string in JavaScript

I'm trying to get the console.log as string in pure JavaScript.
My input is a script, which I'm not familiar with, and I want to collect all the messages in the console.log into a string.

For example:

function doSomething(){
var consoleLog = getConsoleLog();
return consoleLog;

function getConsoleLog(){
// How to implement this?


JSFiddle link

Note that I do not need to alert the log - this is just a simple example of testing the functionality. I'll have to do some operations on the log's content.


You could overwrite console.log method before using it:

var logBackup = console.log;
var logMessages = [];

console.log = function() {
    logMessages.push.apply(logMessages, arguments);
    logBackup.apply(console, arguments);

Using apply and arguments preserves the correct console.log behaviour, i.e. you can add multiple log messages with a single call.

It will push all new console.log messages to logMessages array.