js-dlogger
v2.0.0
Published
A lightweight and efficient logging utility for JavaScript applications. This package provides multiple logging functions such as info(), dLog(), warn(), debug and error(), displaying logs in the console along with the filename for better debugging and tr
Maintainers
Readme
js-dlogger (logger for js frameworks)
📌 Description
js-dlogger is a lightweight, configurable logger for JavaScript, React.js, and React Native applications. It provides structured logging with different levels (info, debug, dLog, Warn, Error) and supports environment-based logging.
Installation
Install the package via npm:
npm install js-dlogger
or
yarn add js-dlogger
Usage :
✅ Basic Usage
Here’s an example to get you started:
import Logger from "js-dlogger";
Logger.info("App", "INIT", "Application started");
Logger.debug("App", "DEBUG", "This is a debug message");
Logger.dLog("App", "DATA", { key: "value" });
Logger.warn("App", "WARNING", "This is a warning message");
Logger.error("App", "ERROR", "An error occurred");📌 Logger with File Context
Here’s an example to get you started:
import {LoggerWithFile} from 'js-dlogger/loggerWrapper';
const Logger = LoggerWithFile("Login.jsx");
Logger.info("INIT", "Application started");
Logger.debug("DEBUG", "This is a debug message");
Logger.dLog("DATA", { key: "value" });
Logger.warn("WARNING", "This is a warning message");
Logger.error("ERROR", "An error occurred");🌎 Environment-Based Logging
The logger dynamically determines the environment:
- React: If globalThis.APP_ENV is set, it will be used.
- React Native: If logger.config.js is available, it loads the environment from there.
- Any js-framework : Otherwise, it defaults to development.
Example logger.config.js:
/**
* Config file for {logger}
* @return Object : ENV value
* @alias : development | production
* @development ~ for development environment
* @production ~ release & disable debug logs
* @author structlooper
* */
export default {
ENV: 'production',
};🛠 Best Practices
1️⃣ Ensure the Config File Exists (If Required)
If your project needs logger.config.js, make sure to create it:
export default {
ENV: 'production',
};2️⃣ Use File-Based Logging for Easier Debugging
Instead of passing taq manually, use LoggerWithFile for consistency.
const Logger = LoggerWithFile("Login.jsx")⚡️ Troubleshooting
| Issue | Solution |
|------------------------------------|-------------------------------------------------------------------------|
| Metro bundler error | Ensure logger.config.js exists or use the try-catch approach. |
| Environment is always development | Check if globalThis.__APP_ENV__ or logger.config.js is correctly set. |
📜 License
This project is licensed under the MIT License. See the LICENSE file for details.
Contributing
Contributions, issues, and feature requests are welcome!
Feel free to check the issues page.
📧 Contact
For support, feedback, or contributions, reach out via GitHub: structlooper.
