首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >一个登录到后端的JavaScript前端日志系统?

一个登录到后端的JavaScript前端日志系统?
EN

Stack Overflow用户
提问于 2011-02-17 20:07:19
回答 3查看 22.8K关注 0票数 14

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

我想在我们的前面找一个等价物,我有几个想法:

  1. 将有某种通过JavaScript公开的自定义日志对象,它将通过XmlHttpRequest将消息发送到后端。
  2. 我希望在客户端有相同的日志记录级别:debuginfowarningerror
  3. 当我们在本地开发时(调试模式),我希望这些日志消息通过console.log()记录到browser/Firebug控制台。
  4. 在生产中,应该完全删除debug消息。
  5. 我记得有一种方法可以捕获所有未察觉的JavaScript异常,因此应该在error级别记录这些异常。
  6. 我们已经在使用事件跟踪了,无论我们创建什么样的系统,以某种方式将其绑定在一起都会很好。

这是个好主意吗你会怎么做?有没有现有的解决办法?

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

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

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-02-17 23:28:37

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

  1. 使用log4javascript的AjaxAppender进行服务器日志记录;
  2. 支持debuginfowarningerror,支持tracefatal
  3. 使用BrowserConsoleAppender登录到FireBug或本机浏览器控制台;
  4. 如果不希望从生产代码中删除所有调试日志记录调用,则可以调整记录器的阈值(例如,使用log.setLevel(log4javascript.Level.ERROR),这将抑制优先级低于ERROR的所有日志调用)。如果要取消所有日志记录调用,可以在生产代码中插入log4javascript存根版本
  5. 您需要编写一些代码来使用window.onerror来完成这一任务。有点像window.onerror = function(msg, file, line) { log.error("Error in " + file + " on line " + line + ": " + msg); }
  6. 我不知道你想如何与谷歌分析联系起来。log4javascript对此没有特别的支持。
票数 18
EN

Stack Overflow用户

发布于 2011-02-17 20:17:55

这个主意在这里听起来不错。只要知道它到底是什么,你想要记录客户端,并拥有它。

我建议使用log4javascript进行日志记录。log4 api非常直观。

票数 2
EN

Stack Overflow用户

发布于 2011-02-17 20:38:31

下面是另一个问题,从这里开始,关于这个问题。

一些建议是:log4jslog4javascript黑鸟

log4js是公认的答案。我没有任何这些平台的经验,所以我不能真正推荐一个而另一个。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5033987

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档