npm.io
1.3.0 • Published 4 months ago

tej-logger

Licence
ISC
Version
1.3.0
Deps
1
Size
139 kB
Vulns
0
Weekly
0
Stars
1

Tej-Logger

A minimal yet powerful logger for Node.js applications. It supports log, info, error, debug and warn. It also supports ANSI styles and colors. It also has an express middleware to log every incoming request.

Table of contents

  1. Features
  2. How to Install
  3. Express Middleware
  4. Basic Usage
    1. Log
    2. Info
    3. Error
    4. Debug
    5. Warn

Features

  • Simple and minimal
  • Express middleware to log every incoming request
  • Log based on identifiers
  • Supports log, info, error, debug and warn
  • Supports ANSI styles and colors
  • [UPCOMING] - Configuration for log levels and log file path

Install

npm install tej-logger

Express Middleware

import logHttpRequest from "tej-logger/express-middleware";

// Add this middleware to your express app before any other middleware
app.use(logHttpRequest);

screenshot


Basic Usage

import TejLogger from "tej-logger";

const logger = new TejLogger("identifier");
logger.log("Hello World!");
Instance Defaults

Pass default metadata that is merged into every log emitted by this instance. Per-call metadata keys take precedence over instance defaults.

const logger = new TejLogger("PaymentService", {
  defaults: { service: "billing", radar: true },
});

// Hook receives metadata: { service: "billing", radar: true }
logger.info("Invoice created");

// Per-call key overrides the instance default
// Hook receives metadata: { service: "billing", radar: false, invoiceId: "inv_1" }
logger.info("Debug detail", { radar: false, invoiceId: "inv_1" });

The radar key can also be set as a top-level shortcut:

// Equivalent to { defaults: { radar: true } }
const logger = new TejLogger("PaymentService", { radar: true });

When both radar and defaults.radar are provided, defaults.radar wins.

Log
logger.log("This is a log message");

screenshot

Info
logger.info("This is an info message");

screenshot

Error
logger.error("This is an error");
//or
logger.error(new Error("This is an error"));

screenshot

Debug
logger.debug("This is a debug message");

screenshot

Warning
logger.debug("This is a debug message");

screenshot


Contributing

Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.


Support

A simple star to this project repo is enough to keep me motivated on this project for days. If you find your self very much excited with this project let me know with a star.


Author

Hirak Chhatbar

➤ License

Distributed under the MIT License. See LICENSE for more information.

Keywords