This project created while working with dexie, from the need to better debugging tool
To install the package use:
yarn add dexie-logger
OR
npm install dexie-logger
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());
when creating the logger you can git it some params
-
either
tableWhiteList
ortablesBlackList
, Those receive a list with table names to white list / black list -
either
operationsWhiteList
oroperationsBlackList
, same as for tables but receives dexie operations names:mutate, get, getMany, query, openCursor, count
-
logType
that can be eitherMinimal
orDefault
to control the logs
// Import the logger
import logger from "dexie-logger";
// Apply the logger
db.use(
logger({
tableWhiteList: ["events", "users"],
operationsWhiteList: ["mutate", "query"],
logType: LogType.Minimal
})
);
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!
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
You can test and validate your changes with the Demo
- 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
Distributed under the MIT License. See LICENSE.txt
for more information.