logger-package-bj v1.3.3
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:
- Import the package in your application:
import { createAppLogger, requestLogger } from "logger-package-bj";
- 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",
},
},
});
- 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.
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago
9 months ago