для ответа на ваш вопрос требуется два шага:
- читать вывод console.log в переменную
- сохранение переменной в текстовый файл
шаг 1 - прослушивание событий регистрации консоли
это можно сделать, заменив объект консоли на самодельный интерфейс:
var consoleText = ""
// define a new console
window.console = (function(console){
return {
log: function(text){
console.log(text);
consoleText += text;
},
info: function (text) {
console.info(text);
consoleText += text;
},
warn: function (text) {
console.warn(text);
consoleText += text;
},
error: function (text) {
console.error(text);
consoleText += text;
}
};
}(window.console));
и для необработанных исключений:
window.addEventListener('error', function(event) {
consoleText += event.message;
})
шаг 2 - сохранить файл журнала
на основе ответа DevonTaig в Запись данных html-формы в текстовый файл без использования веб-сервера :
function download(filename, text) {
var pom = document.createElement('a');
pom.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
pom.setAttribute('download', filename);
document.body.appendChild(pom);
pom.click();
document.body.removeChild(pom);
}
download("log.txt", consoleText)