javascript - recorrer - title css
¿Puedo extender el objeto de la consola(para reencaminar el registro) en javascript? (4)
Pruebe lo siguiente:
(function() {
var exLog = console.log;
console.log = function(msg) {
exLog.apply(this, arguments);
alert(msg);
}
})()
¿Es posible extender el objeto de la consola?
Intenté algo como:
Console.prototype.log = function(msg){
Console.prototype.log.call(msg);
alert(msg);
}
Pero esto no funcionó. Deseo agregar un registro adicional al objeto de la consola a través de un marco como log4javascript y seguir utilizando el objeto de la consola estándar (en los casos en que log4javascript no esté disponible) en mi código.
¡Gracias por adelantado!
También puede agregar el tiempo de registro de esta manera:
agregó Momentjs o usa New Date () en lugar de momento.
var oldConsole = console.log;
console.log = function(){
var timestamp = "[" + moment().format("YYYY-MM-DD HH:mm:ss:SSS") + "] ";
Array.prototype.unshift.call(arguments, timestamp);
oldConsole.apply(this, arguments);
};
Use el patrón proxy, vea mi respuesta para un caso similar:
JavaScript: Anulación de alerta ()
Espero que esto ayude
// console aliases and verbose logger - console doesnt prototype
var c = console;
c.l = c.log,
c.e = c.error,
c.v = c.verbose = function() {
if (!myclass || !myclass.verbose) // verbose switch
return;
var args = Array.prototype.slice.call(arguments); // toArray
args.unshift(''Verbose:'');
c.l.apply(this, args); // log
};
// you can then do
var myclass = new myClass();
myclass.prototype.verbose = false;
// generally these calls would be inside your class
c.v(''1 This will NOT log as verbose == false'');
c.l(''2 This will log'');
myclass.verbose = true;
c.v(''3 This will log'');
Noté que el uso anterior de Array.prototype.unshift.call by nitesh es una mejor manera de agregar la etiqueta ''Verbose:''.