客户端日志记录

时间:2013-10-31 05:53:27

标签: javascript logging

我有一个包含大量JavaScript的网站,经常会在生产中抛出异常。我想使用NLog或Log4Net之类的东西来记录这些异常,但是记录器需要作为JavaScript程序的一部分在客户端上运行,并将日志项发送到服务器,以便它们可以存储在服务器端。

我还想记录其他信息(调试信息,性能数字)。如果我可以轻松地打开或关闭记录器,那就太好了。

是否有像NLog for JavaScript这样的东西可以做到这一切?有什么建议吗?

1 个答案:

答案 0 :(得分:2)

您可以设置错误处理程序并通过AJAX(XMLHttpRequest)发送日志数据。以下是this网站的示例:

<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>