Log JavaScript cross browser
Publicado por Emiliano Eloi Silva Barbosa (última atualização em 11/10/2013)
[ Hits: 7.370 ]
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);
}
Cálculo de frete/correios utilizando Ajax
Nenhum comentário foi encontrado.
Cinnamon seria a aposta acertada frente às outras interfaces gráficas mais populares?
KDE Plasma - porque pode ser a melhor opção de interface gráfica
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Acessando o terminal do seu PC pelo celular fora de casa
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Midia de instalação LM-21.3 não inicializa (0)
Vou destruir sua infância:) (8)
Interface gráfica com problema (2)









