1.0.4 • Published 1 year ago

indexeddb-logger v1.0.4

Weekly downloads
-
License
ISC
Repository
-
Last release
1 year ago

IndexedDB Logger

IndexedDB Logger 是一个使用 IndexedDB 存储日志记录的 JavaScript 类。它可以方便地在浏览器中记录和管理日志,适用于需要持久化日志数据的前端应用程序。

功能

  • 使用 IndexedDB 存储日志数据
  • 支持记录日志条目,包括操作类型和详细信息
  • 支持查询所有日志条目
  • 支持根据 ID 查询特定日志条目
  • 支持清空所有日志
  • 支持将日志导出为 JSON 文件

安装

你可以通过 npm 安装该包:

npm install indexeddb-logger

使用方法

导入并创建 Logger 实例

import { IndexedDBLogger } from 'indexeddb-logger';

// 创建一个新的日志记录器实例
const loggerInstance = new IndexedDBLogger({
  dbName: 'MyLoggerDB',
  storeName: 'myLogs',
  version: 1
});

记录日志

loggerInstance.log('userAction', { name:"Bob", age:99 });

获取所有日志

loggerInstance.getLogs((logs) => {
  console.log('All logs:', logs);
});

根据 ID 查询日志

const logId = 'someUniqueId';
loggerInstance.findLogById(logId, (log) => {
  console.log('Log with ID:', logId, log);
});

清空所有日志

loggerInstance.clearLogs();
console.log('All logs cleared');

导出日志为 JSON 文件

loggerInstance.exportToJson().then(() => {
  console.log('Logs exported to JSON file');
});

配置选项

创建 IndexedDBLogger 实例时可以传递以下配置选项:

  • dbName (string): IndexedDB 数据库的名称,默认为 'LoggerDB'
  • storeName (string): 数据存储对象的名称,默认为 'logs'
  • version (number): IndexedDB 数据库的版本,默认为 1

示例

下面是一个完整的使用示例:

import { IndexedDBLogger } from 'indexeddb-logger';

// 创建一个新的日志记录器实例
const loggerInstance = new IndexedDBLogger({
  dbName: 'MyLoggerDB',
  storeName: 'myLogs',
  version: 1
});

// 记录一个日志条目
loggerInstance.log('userAction', { name:"Bob", age:99 });

// 获取所有日志条目
loggerInstance.getLogs((logs) => {
  console.log('All logs:', logs);
});

// 根据 ID 查询日志条目
const logId = 'someUniqueId';
loggerInstance.findLogById(logId, (log) => {
  console.log('Log with ID:', logId, log);
});

// 清空所有日志条目
loggerInstance.clearLogs();
console.log('All logs cleared');

// 导出日志为 JSON 文件
loggerInstance.exportToJson().then(() => {
  console.log('Logs exported to JSON file');
});

贡献

欢迎提问、反馈和贡献代码。如果你发现了 Bug 或有改进建议,请提交 Issue 或 Pull Request。

许可证

此项目使用 MIT 许可证。详见 LICENSE 文件。

1.0.4

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago