1

我正在使用纯 html (5) + css (3) + js(不使用任何框架)开发应用程序。我遇到了问题,JavaScript 调试。搜索让我找到了 log4javascript。我的问题是:

从演示中可以清楚地看出如何在给定的 html 页面中使用。

因此,如果我的页面被转换到另一个页面,我怎样才能获得相同的旧记录器处理程序,以便我可以继续记录到同一个日志文件?

如果有多个用户使用该应用程序,它究竟是如何工作的?(请原谅我缺乏知识:-))。

如果有任何关于如何获取在另一个页面的第 1 页中初始化的记录器的处理程序的示例代码,它真的会帮助我缩小工作范围。

在此先感谢,拉维。

4

1 回答 1

1

由于 log4javascript 在客户端上运行,所有日志都将由各个客户端使用的浏览器生成。您网站的“多个用户”可能指以下任一情况:

  1. 在同一浏览器的不同选项卡中打开您网站的多个实例
  2. 不同机器上的不同用户使用浏览器查看您的网站

现在,log4javascript 有一个“appenders”的概念,您可能已经阅读过,并且有以下可用的appenders

  • 警报附加器
  • AjaxAppender
  • PopUpAppender
  • InPageAppender
  • BrowserConsoleAppender

对于上面的情况(1),不确定您是否可以“登录到同一个文件” - 因为这些附加程序都不允许您登录到文件。对于情况 (2) - 记录到同一个文件是无关紧要的,因为日志是在不同的机器上为不同的客户端生成的。

要回答你的问题,我很确定如果你使用 PopUpAppender,那么第一页会弹出一个窗口,然后下一页将继续记录到同一个 PopUpAppender 窗口,而不必担心任何句柄。BrowserConsoleAppender 也是如此。

如果您希望收集服务器上多个客户端生成的日志,那么最好的方法是使用 AjaxAppender。在这种情况下,将日志附加到同一客户端/用户的“相同文件”或“相同流”(或其他)取决于您如何为 AjaxAppender 实现服务器端处理程序。想到的一种方法是,每个客户端用于 AjaxAppender 的 URL 将包含用户 ID 或任何唯一的客户端标识符,这将有助于服务器识别日志来自的用户/客户端,然后保存所有日志在服务器上的一个地方。

于 2013-11-29T15:14:22.097 回答