Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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(){
    console.log("start");
    console.log("end");
    var consoleLog = getConsoleLog();
    return consoleLog;
}

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

alert(doSomething());

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.

like image 739
Itay Gal Avatar asked Jun 05 '14 06:06

Itay Gal


People also ask

Is console log a string?

The console. log() method outputs a message to the web console. The message may be a single string (with optional substitution values), or it may be any one or more JavaScript objects.

Can we write console log in JavaScript?

log() is a function in JavaScript which is used to print any kind of variables defined before in it or to just print any message that needs to be displayed to the user. Syntax: console. log(A);

How do I get console data?

In Chrome, we can select View > Developer > JavaScript Console menu to bring up the Console. Alternatively, we can also use the shortcut key: Cmd + Option + J on OS X, and Ctrl + Shift + J on Windows. Shown below is an error-free Chrome Console. From here, we can start using the command provided in Console API.

How do I print from console log?

You should use the console. log() method to print to console JavaScript. The JavaScript console log function is mainly used for code debugging as it makes the JavaScript print the output to the console. To open the browser console, right-click on the page and select Inspect, and then click Console.


1 Answers

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.

like image 51
Audrius Lubys Avatar answered Oct 09 '22 02:10

Audrius Lubys