我有一个包含大量 JavaScript 的网站,这些 JavaScript 似乎经常在生产中抛出异常。我想使用 NLog 或 Log4Net 之类的东西来记录这些异常,但是记录器需要作为 JavaScript 程序的一部分在客户端上运行,并将日志项发送到服务器,以便它们可以存储在服务器端。
我还想记录其他信息(调试信息、性能数字)。如果我可以轻松地打开或关闭记录器,那就太好了。
有没有像 JavaScript 的 NLog 这样的东西来做这一切?有什么建议吗?
我有一个包含大量 JavaScript 的网站,这些 JavaScript 似乎经常在生产中抛出异常。我想使用 NLog 或 Log4Net 之类的东西来记录这些异常,但是记录器需要作为 JavaScript 程序的一部分在客户端上运行,并将日志项发送到服务器,以便它们可以存储在服务器端。
我还想记录其他信息(调试信息、性能数字)。如果我可以轻松地打开或关闭记录器,那就太好了。
有没有像 JavaScript 的 NLog 这样的东西来做这一切?有什么建议吗?
您可以设置错误处理程序并通过 AJAX (XMLHttpRequest) 发送您的日志数据。下面是这个网站的一个例子:
<script type="text/javascript" src="ajaxrequest.js"></script>
<script type="text/javascript">
window.onerror = function(msg, url, line) {
if(encodeURIComponent) {
var req = new AjaxRequest();
var params = "msg=" + encodeURIComponent(msg) + '&url=' + encodeURIComponent(url) + "&line=" + line;
req.setMethod("POST");
return req.loadXMLDoc("/logerror.php", params);
}
return false;
}
</script>