Tengo un script que no puedo cambiar que realiza muchas llamadas a console.log. Quiero agregar otra capa y responder si las llamadas contienen ciertas cadenas. Esto funciona en FF, pero lanza una "invocación ilegal" error en Chrome en la 4ª línea:Interceptar llamadas a console.log en Chrome
var oldConsole = {};
oldConsole.log = console.log;
console.log = function (arg) {
oldConsole.log('MY CONSOLE!!');
oldConsole.log(arg);
}
Alguna idea de cómo conseguir alrededor de eso? También probé la clonación de la consola ...
buen ... estado buscando algo como esto. ¿Se puede usar esto para decorar cualquier función en javascript? – Shane
@Shane, este es el patrón básico para interceptar una llamada a función, sin embargo, recomendaría no usarlo a menos que sea absolutamente necesario. Es mucho mejor modificar la función directamente o utilizar conceptos de OOP. – zzzzBov
construyendo un marco donde hay mucho ensamblado de componentes de tiempo de ejecución, esta sería una herramienta útil para un enfoque externo para depurar componentes o modificar componentes existentes con complementos, etc. ¿Hay un impacto en el rendimiento para este enfoque? Solo curiosidad cuáles serían los inconvenientes. No modificaré funciones intrínsecas, solo métodos de componentes de marco. – Shane