chrome扩展日志记录的最佳实践或如何实现chrome的扩展日志记录?

时间:2015-08-06 12:31:10

标签: javascript google-chrome logging google-chrome-extension

我需要在chrome的扩展中实现日志记录。 远程日志记录(例如使用jsnlog)不适合。记录发生在不同的页面上

我看到了这个问题的两个解决方案,但我不喜欢它们,每个都有它的缺点。这两种解决方案都基于以圆形单链表的形式保存存储中的日志。每条消息都作为一个单独的条目存储在存储中,并带有密钥(" mylogmess#..")也有一个指向下一个空闲密钥的指针(" mylogmess#.. + 1&#34 ;)添加也位于存储中的新消息(" mypointer)。

存储结构如下:

{

  "mypointer": 5,

  "mylogmess#0": "H",

  "mylogmess#1": "e",

  "mylogmess#2": "l",

  "mylogmess#3": "l",

  "mylogmess#4": "o",

}

第一种算法很简单:读取指针,使用指针中的键创建日志消息,递增指针,写入以存储更新的指针和新消息。

因此,记录单个消息的操作的复杂性如下:1从存储中读取(获取指针)1在存储中写入(设置更新的指针+消息)。

此方法的缺点是并非所有消息都保存,因为对存储的读写访问是异步发生的,指针没有时间更新,因此消息被覆盖。

第二种算法基于向背景页面发送消息。在这种情况下,指针将只读取一次(在启动扩展时),然后它将只记录在chrome存储中。从架构的角度来看,这种方法对我来说并不令人愉快。

您可以推荐哪种记录方法?

0 个答案:

没有答案