dev-logger-pro
v1.0.1
Published
A professional, environment-agnostic logger. Born from Wix Velo, built for everyone.
Maintainers
Readme
Dev Logger Pro 🛠️
A professional, environment-agnostic logger for JavaScript and Node.js projects. Clear, colorized output in browsers and tidy, human-friendly logs in Node — with simple runtime control over verbosity and a compact API.
Quick overview
- Package: dev-logger-pro
- Description: Professional, configurable logging utility that works in Browsers, Node.js, and serverless platforms.
- Author: Mosaddik Billah
- License: MIT
Features
- Simple, zero-ceremony API (
logger.init(),logger.log(),logger.info(),logger.warn(),logger.error()). - Automatic environment detection (Browser vs Node) with colored browser output.
- Global enable/disable via
debugflag. - Level filtering with
logLevel(verbose,warn,error,silent). - Optional
prefixand function-name tracing for easier debugging.
Installation
Install from npm:
npm install dev-logger-proOr use locally during development by importing the file directly.
Quick Start
Import and configure the logger at the entry point of your application.
ES Modules example (recommended):
import { logger } from "dev-logger-pro";
logger.init({
debug: true, // set to false in production
prefix: "🚀 [MyApp]", // custom prefix shown before messages
logLevel: "verbose", // 'verbose' | 'warn' | 'error' | 'silent'
});
logger.log("App initialized", { port: 3000 }, "startServer");
logger.info("User signed in", { userId: 42 });
logger.warn("Cache miss", null, "getCache");
logger.error("Failed fetch", new Error("timeout"), "fetchData");If you are testing locally without publishing to npm, import from the relative path:
import { logger } from "./index.js";API & Configuration
logger.init(options)— Initialize or update configuration.options.debug(boolean, default:false) — Master switch. Iffalse, no logs are emitted.options.prefix(string, default:🚀 [APP]) — Text prefixed to every message.options.logLevel(string, default:verbose) — Minimum level shown. One of:verbose,warn,error,silent.
logger.log(message, data?, functionName?)— General-purpose log (shown whenlogLevelisverbose).logger.info(message, data?, functionName?)— Info-level (also followsverbosethreshold).logger.warn(message, data?, functionName?)— Warning-level (shown whenlogLeveliswarnorverbose).logger.error(message, error?, functionName?)— Error-level (shown whenlogLeveliserroror higher).
Notes:
- In browsers messages are colorized using CSS for quick scanning. In Node, output is plain text and data objects are JSON-stringified for readability.
functionNameis optional and will be included in the message to help trace log origin.
Log Level Behavior
verbose— Showlog,info,warn, anderror.warn— Show onlywarnanderror.error— Show onlyerror.silent— No logs are shown.
Best Practices
- Keep
debug: trueduring development and CI; setdebug: falsein production to avoid leaking internal details. - Use
prefixto indicate module or feature area (e.g.,"🛒 [Cart]") for easier searching. - Pass the optional
functionNameargument when tracing complex call flows.
Contributing
Contributions and suggestions are welcome. Please open issues or pull requests on the repository.
License
This project is licensed under the MIT License.
