Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@rharkor/logger

rharkor912MIT1.3.1TypeScript support: included

A simple logger for all your applications

logger, log, console, cli, terminal, color, colorful, colorful-log, colorful-logger, colorful-console

readme

Logger 📝

Logger is an intuitive and robust tool tailored for logging messages across all your applications, whether it's a complex web application or a simple script. Ensure every important event is captured with Logger!

Logger

Features 🌟

  • Simple Integration: Effortlessly embed Logger into your projects.
  • Versatile: Suitable for both development and production environments.
  • Asynchronous Support: Built to handle modern asynchronous JavaScript workflows.

Installation 🔧

Install Logger with a simple command:

npm install @rharkor/logger

Usage 🛠️

Logger

To start using Logger in your project, simply import and utilize the logging functions as shown:

import { logger } from "@rharkor/logger"

logger.log("This is a log message") // For general logs
logger.subLog("This is a sub log message") // For sub logs
logger.info("This is an info message") // For informational messages
logger.warn("This is a warning message") // For warnings
logger.error("This is an error message") // For errors
logger.success("This is a success message") // For success messages
logger.debug("This is a debug message") // For debugging messages

Debugging logs

Logger supports debugging logs, which are disabled by default. To enable debugging logs, set the LOGGER_ENV environment variable to development and it will automatically enable debugging logs. If the environment variable is not set, Logger will default to production and debugging logs will be disabled.

Common Issues and Troubleshooting 🔍

Encountering the warning Logger is not initialized yet. Please call and await logger.init()? This means you're attempting to log a message before Logger is ready. Initialization typically completes in under a second.

Remember: Logger initializes automatically upon import.

Resolution Steps

To fix initialization issues, make sure to await the init() method before logging:

import { logger } from "@rharkor/logger"

async function main() {
  await logger.init()
  logger.info("This is an info message")
}

main()

Explanation

To accommodate CommonJS compatibility, we asynchronously load dependencies like chalk. This setup requires that Logger isn't instantly ready upon import.

License 📄

This project is distributed under the MIT License. For more details, see the LICENSE file in the repository.

This enhanced README not only clarifies usage but also incorporates emojis to make it more engaging and reader-friendly.