Skip to content

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.

Notifications You must be signed in to change notification settings

structlooper/js-dlogger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

About

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.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published