indexeddb-logger
v1.0.4
Published
一个使用 IndexedDB 的简单日志记录器
Downloads
2
Readme
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 文件。