2.0.0 • Published 7 months ago

shipfinex-elastic-logger v2.0.0

Weekly downloads
-
License
ISC
Repository
-
Last release
7 months ago
## Description

Shipfinex Logger is a versatile logging library designed specifically for the Shipfinex logging service, which feeds logs to Logstash. It provides flexible configuration options and supports various log levels, making it suitable for a wide range of logging requirements in javascript based services.

## Installation

To install Shipfinex Logger, use npm:

```bash
npm install shipfinex-logger

Usage

Import the Logger

In your Node.js application, import the shipfinex-logger module and create a logger instance with your desired configuration.

const createLogger = require('shipfinex-logger');

// Define your configuration
const config = {
  logLevel: 'debug',  // Set the log level (info, error, debug)
  indexPrefix: 'my-app-logs-prod',  // Set the Elasticsearch index prefix
  elasticsearchHost: 'http://elasticsearch-prod:9200',  // Set the Elasticsearch host
  serviceName: 'my-production-service',  // Set your service name
  // Add other configuration options...
};

// Create a logger instance
const logger = createLogger(config);

Log Messages

Use the logger instance to log messages in your application. The logger provides three log levels: info, error, and debug.

Info Logs

// Log an info message
logger.info('This is an info log.');

Error Logs

// Log an error message with an error object and additional metadata
const error = new Error('Sample error');
const metadata = { additionalInfo: 'some data' };
logger.error('This is an error log.', error, metadata);

Debug Logs

// Log a debug message with metadata
const metadata = { debugInfo: 'some debug data' };
logger.debug('This is a debug log.', metadata);

Log Formats

The logger uses the following log format:

[2023-10-12 15:45:30] [DEBUG] [my-production-service] This is a debug log.
  • [2023-10-12 15:45:30]: Timestamp of the log entry.
  • [DEBUG]: Log level (INFO, ERROR, DEBUG).
  • [my-production-service]: Service name.
  • This is a debug log.: Log message.

Error Logs

In error logs, the stack trace and additional metadata are also included:

[2023-10-12 15:47:15] [ERROR] [my-production-service] This is an error log.
Error: Sample error
    at ...
{
  "additionalInfo": "some data"
}
  • Error: Sample error: Error message and stack trace.
  • { "additionalInfo": "some data" }: Additional metadata.

Debug Logs

Debug logs include additional metadata:

[2023-10-12 15:50:22] [DEBUG] [my-production-service] This is a debug log.
{
  "debugInfo": "some debug data"
}
  • { "debugInfo": "some debug data" }: Debug-related metadata.

These log formats make it easy to read and interpret log entries, helping you with debugging and monitoring your application.

License

This package is released under the ISC License.

2.0.0

7 months ago

1.0.5

7 months ago

1.0.4

7 months ago