Log JavaScript cross browser
Publicado por Emiliano Eloi Silva Barbosa (última atualização em 11/10/2013)
[ Hits: 7.334 ]
Homepage: http://emilianoeloi.com.br
O comando console.log veio para auxiliar o desenvolvimento front-end, ajudando no debug do JavaScript. Depois de muito apagar consoles log código afora eu desenvolvi o código bem simples que possibilitar ativar/desativar o log, evitando publicações que imprimam logs desnecessários e deixando os logs em lugares estratégicos, para uma manutenção posterior.
Exemplo: em vez de utilizar o window.console.log("chave","valor"); utiliza-se o Dbg.log("chave","valor"); que por sua vez encapsula o console.log ou alert se for desenvolver para um browser mais antigo. Quando for publicar, basta mudar o SHOW_DEBUG para false.
var SHOW_DEBUG = true;
var CAN_ALERT_BOX = true;
var Dbg = {
canAlert: SHOW_DEBUG,
debug: CAN_ALERT_BOX,
log: function(k, v) {
if (this.debug) {
if (window.console && window.console.log) {
window.console.log(k, v);
} else if (this.canAlert) {
alert(k + ": " + v);
}
}
},
error: function(k, v) {
if (this.debug) {
if (window.console && window.console.error) {
window.console.error(k, v);
window.console.trace();
} else if (this.canAlert) {
alert(k + ": " + v);
}
}
}
};
/* ===
EXEMPLO
=== */
var obj = {"nome":"ECMAScript", "apelido":"Javascript", "data":null};
Dbg.log(" Dbg log - obj", obj);
try{
Dbg.log(" try execute obj.data", obj.data);
Dbg.log(" try execute obj.data.ano", obj.data.ano);
}catch(e){
Dbg.error("Exceção",e);
}
Simplificando ao extremo o carrossel
Cálculo de frete/correios utilizando Ajax
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Como automatizar sua instalação do Ubuntu para desenvolvimento de software.
systemd-resol... precisa ser reiniciado periodicamente [RESOLVIDO] (7)
Bridge - Rede - Ubuntu 24.04 (1)









