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

从演示的清楚地知道如何在给定的html页面中使用。

因此,如果我的页面过渡到另一个页面,如何获得相同的旧记录程序处理程序,以便继续记录到相同的日志文件?

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

如果有任何示例代码说明了如何在另一页的第1页中初始化了如何获取记录程序的处理程序,那么它确实可以帮助我缩小工作范围。

提前致谢,
拉维

最佳答案

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


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


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


AlertAppender
AjaxAppender
PopUpAppender
InPageAppender
BrowserConsoleAppender


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

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

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

09-25 20:29