Захват JavaScript console.log console.dir, console.table

Уже есть несколько вопросов по захвату или перенаправлению console.log:

Когда нам нужно захватить все консольные сообщения (console.log, console.dir, console.table...), есть ли простой способ перенаправить все функции, не "перегружая" каждую?

Изменить: этот вопрос касается клиентского JavaScript.


person Fifi    schedule 13.01.2020    source источник
comment
Можно ли запустить программу node.js внутри другой программы (подобно тому, как работают PM2 и Forever)? Этот метод будет работать с любым языком — Java, C, ассемблер, node.js и т. д.   -  person slebetman    schedule 13.01.2020
comment
Это вопрос на стороне клиента.   -  person Fifi    schedule 13.01.2020


Ответы (1)


Вы можете сделать что-то вроде этого:

function fake(cb) {
  return (...args) => {
    ... magic capture code...
    cb(...args);
  }
}
Object.keys(console).forEach(k => console[k] = fake(console[k].bind(console)))
person Lux    schedule 13.01.2020