【问题标题】:JavaScript AJAX remote logger [closed]JavaScript AJAX 远程记录器 [关闭]
【发布时间】:2012-01-07 22:13:31
【问题描述】:

我正在开发不支持日志输出的平台上的 JavaScript 应用程序,不允许为记录器输出打开新窗口,并且上面没有像 Firebug 或 Safari 调试器这样的东西......

到目前为止,我在z-index 2 上使用floating <div> 并在其中记录了文本,但这还不够。我正在寻找一些轻量级的 JavaScript JSONP 记录器和一些 PHP 或 Tomcat 服务器对应物...

【问题讨论】:

    标签: javascript json ajax logging


    【解决方案1】:

    我最近偶然发现了 N. Zakas 的这个演示文稿,并实施了那里解释的技术。这很简单,但恕我直言非常有效

    http://www.slideshare.net/nzakas/enterprise-javascript-error-handling-presentation

    这个想法是简单地调用服务器端组件(我使用了一个 .net 处理程序,但它也可能是一个 php 文件),它需要一些参数,记录参数值并返回一个 1x1 图像流。我最喜欢的是根本不需要涉及 ajax 调用。

    演示文稿中的代码如下:

        function log(severity, message) {
          var img = new Image();
          img.src = "log.php?sev=" + encodeURIComponent(severity) +
          "&msg=" + encodeURIComponent(message);
        }
    
        log(1, "something bad happened");
    

    【讨论】:

    • 哇!看起来很聪明,你有一些服务器端的实现吗?一些带有显示它的 UI 脚本的 php/tomcat servlet?最好有服务器端......
    • 遗憾的是没有 php 代码,但它应该相当简单:只需获取参数并调用日志处理程序。
    • 我认为应该是 img.src = "log.php",而不是 img.src + log.php。
    • IIS 将为您记录查询字符串。快速而肮脏的黑客攻击。聪明。
    【解决方案2】:

    警告:不再工作!

    正如@JohnSmith 在下面评论的那样,此处建议的解决方案似乎不再有效。


    托管您自己的服务器日志记录的替代方法可能是JSConsole.com。它是用于 JavaScript 的通用远程调试器。只需注册一个监听器,将它生成的脚本标签粘贴到您的页面中,然后在任何设备上启动一个实例。调试器是双向的,因此不仅日志会被转发到 JSConsole 上的远程控制台,您还可以完全访问远程客户端上的 JS 环境。

    【讨论】:

    • 在其他人浪费一个小时进行故障排除之前,就像我刚才所做的那样,JSConsole.com 远程日志记录已被禁用,但这个家伙并没有费心让任何人知道。它说它有效,但它没有。
    • 感谢@JohnSmith 的评论,对于给您带来的麻烦,我们深表歉意!我已经更新了答案,以突出您的发现。
    • 谢谢,谢谢你回复的语气比我的(沮丧的)评论更有礼貌。
    猜你喜欢
    • 1970-01-01
    • 2011-12-18
    • 2012-12-17
    • 2016-08-03
    • 1970-01-01
    • 2010-09-09
    • 1970-01-01
    • 2011-11-01
    • 2011-01-29
    相关资源
    最近更新 更多