Acabei de implementar o log de erro do lado do servidor em erros de javascript em um projeto no trabalho. Há uma mistura de código legado e novo código usando jQuery .
Eu uso uma combinação window.onerror
e envolvimento dos manipuladores de eventos jQuery e função onready com uma função de tratamento de erros (consulte: Rastreamento de erro de JavaScript: Por que window.onerror não é suficiente ).
window.onerror
: captura todos os erros no IE (e a maioria dos erros no Firefox), mas não faz nada no Safari e Opera.
- Manipuladores de eventos jQuery: detecta erros de eventos jQuery em todos os navegadores.
- Função pronta do jQuery: captura erros de inicialização em todos os navegadores.
Depois de detectar o erro, adiciono algumas propriedades extras a ele (url, navegador, etc.) e, em seguida, envio-o de volta ao servidor usando uma chamada ajax.
No servidor, tenho uma pequena página que apenas pega os argumentos postados e os envia para nossa estrutura de registro normal do servidor.
Eu gostaria de abrir o código para isso (como um plugin jQuery). Se alguém estiver interessado me avise, ajudaria a convencer os patrões!