1.1.4 • Published 5 months ago

eris-logger v1.1.4

Weekly downloads
-
License
ISC
Repository
github
Last release
5 months ago

ErisLogger

eris-logger is a powerful and flexible logging library for NodeJS that allows you to customize the logging process to suit your needs. It supports logging to files, the console, and provides convenient customization tools.

Key Features

Flexible Logging Configuration

  • Supports logging to:
    • File
    • Console
    • Easy integration of custom adapters for log collection and processing.

Console Log Color Customization

  • Ability to set custom colors for each log level.
  • Ability to set custom colors for message text and timestamps.

Multiple Log Levels Supported

  • Debug
  • Info
  • Alert
  • Warn
  • Error
  • Fatal

Additional Methods for Logging

  • WithFields, WithError, WithName for detailed context:
    logger.WithFields({foo: "bar"}).Info("with fields") // output: 2024-12-13T17:21:57.176Z INFO with fields foo=bar
    logger.WithError(new Error("my error")).Info("with error")  // output: 2024-12-13T17:21:57.176Z INFO with error err=my error
    logger.WithName("TestLogger").Info("with name") // output: 2024-12-13T17:21:57.176Z INFO [TestLogger]: with name

Installation

Install the library using the following command:

npm i eris-logger

Initialization

To get started, create a new logger and configure its adapters:

const logger = new ErisLogger([new ConsoleAdapter(), new FileAdapter()])

Usage Example

logger.Info("Starting application")
logger.WithName("DATABASE").Info("Initialization complete")
logger.WithError(new Error("connection lost")).Error("Failed to connect to database")

Creating a Custom Adapter

eris-logger provides an interface for creating custom adapters to handle logs in a specific way:

export interface BaseAdapter {
  Log(log: Log): void;

  Format(log: Log): any;
}

To create a custom adapter, implement this interface. For example:

class MyAdapter {
  Log(log: Log) {
    console.log(this.Format(log));
  }

  Format(log: Log): string {
    return [log.level, log.message].join(' ');
  }
}

Then, add the adapter to the logger:

const logger = new ErisLogger([new MyAdapter()]);
1.1.1

5 months ago

1.1.0

5 months ago

1.1.4

5 months ago

1.1.3

5 months ago

1.1.2

5 months ago

1.0.2

1 year ago

1.0.4

1 year ago

1.0.3

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago

0.1.8

2 years ago

0.1.7

2 years ago

0.1.6

2 years ago

0.1.2

2 years ago

0.1.4

2 years ago

0.1.3

2 years ago

0.1.5

2 years ago

0.1.1

2 years ago

0.1.0

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago