Log JavaScript cross browser
Publicado por Emiliano Eloi Silva Barbosa (última atualização em 11/10/2013)
[ Hits: 7.131 ]
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); }
Nenhum comentário foi encontrado.
Como gerar um podcast a partir de um livro em PDF
Automatizando digitação de códigos 2FA no browser
Resolver problemas de Internet
Como compartilhar a tela do Ubuntu com uma Smart TV (LG, Samsung, etc.)
Músicas de Andrew Hulshult no DOOM (WAD)
Instalar o Apache, MySQL e PHP no Oracle Linux 8
Bloqueando telemetria no Deepin 23.1
Como converter imagens PNG/JPEG para SVG em linha de comando
Fez porcaria no teu repositório Git? Aprenda a restaurar uma versão anterior do seu código!
Java é uma linguagem de brinquedo? (9)
Rejeição de acesso ao servidor (1)
Alguém pode me explicar essa matemática? (2)