dexie-logger
TypeScript icon, indicating that this package has built-in type declarations

1.2.6 • Public • Published

Stargazers Issues MIT License

10Play - Dexie Logger

dexie logger logo

About the project

This project created while working with dexie, from the need to better debugging tool

Getting Started

Installation

To install the package use:

    yarn add dexie-logger

OR

    npm install dexie-logger

Usage

To add the logger to your DB, simply apply it as a middleware

// Import the logger
import logger from "dexie-logger";

// Apply the logger
db.use(logger());

More options

when creating the logger you can git it some params

  • either tableWhiteList or tablesBlackList, Those receive a list with table names to white list / black list

  • either operationsWhiteList or operationsBlackList, same as for tables but receives dexie operations names: mutate, get, getMany, query, openCursor, count

Advanced example

// Import the logger
import logger from "dexie-logger";

// Apply the logger
db.use(
  logger({
    tableWhiteList: ["events", "users"],
    operationsWhiteList: ["mutate", "query"],
  })
);

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

You can test and validate your changes with the Demo

Ideas + next steps

  • [ ] Add dev tool ui cmopoent
    • [ ] Show log history
    • [ ] modify logs from ui
  • [ ] pass custom loggerCallbacks in the dexie-logger props:
        dexieLogger({
            customCallbacks: {
                get: ...
            }
        })
    
  • [ ] Add logs for transactions
    • [ ] enable and disable from props
    • [ ] create shortcut key for transaction (for redability)
    • [ ] log the transaction time, included operations, and eache oparation time
  • [ ] "score" oparations by time, and add color to the logs (Green = realy fast, Red = realy slow)
  • [ ] improve readme
  • [ ] Tests

License

Distributed under the MIT License. See LICENSE.txt for more information.

Versions

Current Tags

  • Version
    Downloads (Last 7 Days)
    • Tag
  • 1.2.6
    9
    • latest

Version History

Package Sidebar

Install

npm i dexie-logger

Weekly Downloads

9

Version

1.2.6

License

MIT

Unpacked Size

197 kB

Total Files

70

Last publish

Collaborators

  • noamgolani