gpt4 book ai didi

javascript - 记录到我们后端的 JavaScript 前端日志系统?

转载 作者:可可西里 更新时间:2023-11-01 02:36:40 31 4
gpt4 key购买 nike

我们为服务器端服务建立了一个日志系统。具体来说,我们的 Django 项目大量使用 Python 日志记录模块,因此调用 logger.info()logger.warn()logger.error () 由我们的集中式日志系统获取。

我想要在我们的前端有一个等价物,我有一些想法:

  1. 会有某种通过 JavaScript 公开的自定义日志记录对象,它会通过 XmlHttpRequest 将消息发送到后端。

  2. 我想在客户端有等效的日志记录级别:debuginfowarning错误

  3. 当我们在本地开发( Debug模式)时,我希望通过 console.log() 将那些日志消息记录到浏览器/Firebug 控制台。

  4. 在生产中,debug 消息应该被完全删除。

  5. 我记得看到过一种捕获所有未捕获的 JavaScript 异常的方法,因此应该在 error 级别记录这些异常。

  6. 我们已经在使用 Google Analytics event tracking ,如果我们创建的任何系统以某种方式与之相关联,那就太好了。

这是个好主意吗?你会怎么做?有现成的解决方案吗?

(FWIW,我们在前端使用 jQuery。)

更新:这里简化了问题:https://stackoverflow.com/questions/1423267/are-there-any-logging-frameworks-for-javascript

最佳答案

首先,我编写并维护了log4javascript ,所以我要提前声明我的兴趣。我也是每天在工作中使用它,所以我作为用户对它有一些体验。以下是我将如何处理您的问题,特别是与 log4javascript 相关的问题:

  1. 使用 log4javascript 的 AjaxAppender用于服务器日志记录;

  2. debuginfowarningerror 都支持,还有 tracefatal;

  3. 使用 BrowserConsoleAppender登录到 FireBug 或 native 浏览器控制台;

  4. 如果您不想从生产代码中删除所有调试日志记录调用,您可以调整记录器的阈值(使用 log.setLevel(log4javascript.Level.ERROR),例如,这将抑制优先级低于 ERROR 的所有日志调用)。如果你想抑制所有的日志记录调用,你可以放入 stub version of log4javascript在您的生产代码中。

  5. 您需要编写一些代码才能使用 window.onerror 执行此操作.类似于 window.onerror = function(msg, file, line) { log.error("Error in "+ file + "on line "+ line + ": "+ msg); }

  6. 我不确定您想如何与 Google Analytics 结合。 log4javascript 没有特别支持它。

关于javascript - 记录到我们后端的 JavaScript 前端日志系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5033987/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com