How to save console.log entries in to a file

How do I save the value of the console into a file? I would like it so that when a user clicks a button it saves the logs from the console in to a file? I have tried find console.json in the terminal after refreshing! How would I do this?

EDIT: This is the code that I have:

function save() {
  

(function(console){

    console.save = function(data, filename){
        console.log("Saving file")


        if(!data) {
            console.error('Console.save: No data')
            return;
        }

        if(!filename) filename = 'console.json'

        if(typeof data === "object"){
            data = JSON.stringify(data, undefined, 4)
        }

        var blob = new Blob([data], {type: 'text/json'}),
            e    = document.createEvent('MouseEvents'),
            a    = document.createElement('a')

        a.download = filename
        a.href = window.URL.createObjectURL(blob)
        a.dataset.downloadurl =  ['text/json', a.download, a.href].join(':')
        e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null)
        a.dispatchEvent(e)
    }
})(console)
  
}

I never see Saving file in the console. How do I fix this?

Hi BenJ,

Inside your self-invoking function(console){} you create a function console.save but you never call it.

After you define the function, you could call it, like this:

        a.dispatchEvent(e)
    }
    console.save(); // Here we go
})(console)

Let us know how it goes…

It works but when I open the file it contains

undefined

Well, I’m not super sure about your method for saving the console. Your function takes in a data param, which is what gets saved to the file. I guess you need to pass (somehow) the console logs into that.

But the key thing is, I don’t know of a way to get the console logs. I don’t think it’s actually possible to access past logs programmatically… :confused: