由于 log4javascript 在客户端上运行,所有日志都将由各个客户端使用的浏览器生成。您网站的“多个用户”可能指以下任一情况:
- 在同一浏览器的不同选项卡中打开您网站的多个实例
- 不同机器上的不同用户使用浏览器查看您的网站
现在,log4javascript 有一个“appenders”的概念,您可能已经阅读过,并且有以下可用的appenders:
- 警报附加器
- AjaxAppender
- PopUpAppender
- InPageAppender
- BrowserConsoleAppender
对于上面的情况(1),不确定您是否可以“登录到同一个文件” - 因为这些附加程序都不允许您登录到文件。对于情况 (2) - 记录到同一个文件是无关紧要的,因为日志是在不同的机器上为不同的客户端生成的。
要回答你的问题,我很确定如果你使用 PopUpAppender,那么第一页会弹出一个窗口,然后下一页将继续记录到同一个 PopUpAppender 窗口,而不必担心任何句柄。BrowserConsoleAppender 也是如此。
如果您希望收集服务器上多个客户端生成的日志,那么最好的方法是使用 AjaxAppender。在这种情况下,将日志附加到同一客户端/用户的“相同文件”或“相同流”(或其他)取决于您如何为 AjaxAppender 实现服务器端处理程序。想到的一种方法是,每个客户端用于 AjaxAppender 的 URL 将包含用户 ID 或任何唯一的客户端标识符,这将有助于服务器识别日志来自的用户/客户端,然后保存所有日志在服务器上的一个地方。