1.3.3 • Published 9 months ago

logger-package-bj v1.3.3

Weekly downloads
-
License
ISC
Repository
-
Last release
9 months ago

Centralized Logging Package for Node.js Applications

This package provides a centralized logging solution for Node.js applications. It allows you to configure and manage logging for your application in a centralized manner, making it easier to manage and maintain your application's logging configuration.

Features

  • Centralized logging configuration
  • Support for multiple logging transports (console, file, cloudwatch)
  • Support for custom log formats
  • Support for custom log levels
  • Support for custom log metadata
  • Support for custom log messages

Installation

To install the package, run the following command:

npm install logger-package-bj

Usage

To use the package, follow these steps:

  1. Import the package in your application:
import { createAppLogger, requestLogger } from "logger-package-bj";
  1. Create a logger instance:
const logger = createAppLogger({
  console: {
    enabled: true,
    options: {
      level: "info",
      format: format.combine(
        format.timestamp({ format: "YYYY-MM-DD HH:mm:ss" }),
        format.printf(({ level, message, timestamp, ...meta }) => {
          return `[${timestamp}] ${level.toUpperCase()}: ${message} ${
            Object.keys(meta).length ? JSON.stringify(meta) : ""
          }`;
        })
      ),
    },
  },
  file: {
    enabled: true,
    options: {
      dirname: "logs/application",
      filename: "app-%DATE%.log",
      datePattern: "YYYY-MM-DD",
      maxSize: "20m",
      maxFiles: "14d",
      zippedArchive: true,
    },
  },
  cloudWatch: {
    enabled: true,
    options: {
      region: "us-east-1",
      accessKeyId: "YOUR_ACCESS_KEY_ID",
      secretAccessKey: "YOUR_SECRET_ACCESS_KEY",
      logGroupName: "YOUR_LOG_GROUP_NAME",
      logStreamName: "YOUR_LOG_STREAM_NAME",
    },
  },
});
  1. Use the logger instance in your application:
logger.info("This is an info message");
logger.warn("This is a warning message");
logger.error("This is an error message");

Configuration

The createAppLogger function takes a configuration object as its argument. The configuration object has the following properties:

  • console: An object with the following properties:
    • enabled: A boolean indicating whether to enable console logging.
    • options: An object with the following properties:
      • level: The log level to use for console logging. Defaults to "info".
      • format: A format function to use for console logging. Defaults to a timestamp and log level format.
  • file: An object with the following properties:
    • enabled: A boolean indicating whether to enable file logging.
    • options: An object with the following properties:
      • dirname: The directory to store the log files. Defaults to "logs/application".
      • filename: The name of the log file. Defaults to "app-%DATE%.log".
      • datePattern: The date pattern to use for the log file name. Defaults to "YYYY-MM-DD".
      • maxSize: The maximum size of the log file before it is rotated. Defaults to "20m".
      • maxFiles: The maximum number of log files to keep. Defaults to "14d".
      • zippedArchive: A boolean indicating whether to create a zipped archive of the log files. Defaults to true.
  • cloudWatch: An object with the following properties:
    • enabled: A boolean indicating whether to enable cloudwatch logging.
    • options: An object with the following properties:
      • region: The AWS region to use for cloudwatch logging. Defaults to "us-east-1".
      • accessKeyId: The AWS access key ID to use for cloudwatch logging.
      • secretAccessKey: The AWS secret access key to use for cloudwatch logging.
      • logGroupName: The name of the cloudwatch log group to use for logging.
      • logStreamName: The name of the cloudwatch log stream to use for logging.
1.3.3

9 months ago

1.3.2

9 months ago

1.3.1

9 months ago

1.3.0

9 months ago

1.2.5

9 months ago

1.2.4

9 months ago

1.2.3

9 months ago

1.2.2

9 months ago

1.2.1

9 months ago

1.2.0

9 months ago

1.1.9

9 months ago

1.1.8

9 months ago

1.1.6

9 months ago

1.1.5

9 months ago

1.1.4

9 months ago

1.1.3

9 months ago

1.1.2

9 months ago

1.1.1

9 months ago

1.1.0

9 months ago

1.0.5

9 months ago

1.0.4

9 months ago

1.0.3

9 months ago

1.0.2

9 months ago

1.0.1

9 months ago

1.0.0

9 months ago