sails-logi2loki
v1.3.0
Published
Export logs to loki in SailsJS
Downloads
46
Readme
Sails Logi2Loki Hook
Sails Logi2Loki is a hook for the Sails.js framework that provides seamless integration with Loki, a horizontally-scalable, multi-tenant log aggregation system. This hook enables efficient logging, storage, and querying of application logs generated by a Sails.js application.
Overview
The Sails Logi2Loki hook extends the logging capabilities of Sails.js by integrating with Loki, allowing for centralized log aggregation and analysis. This integration enhances observability and troubleshooting capabilities for Sails.js applications.
Features
- Loki Integration: Seamlessly integrates with Loki, a scalable log aggregation system, for efficient log storage and querying.
- Custom Configuration: Supports custom configuration options via Sails.js configuration files or environment variables.
- Automatic Labeling: Automatically attaches labels to log entries for enhanced log categorization and filtering.
- Flexible Usage: Can be easily enabled or disabled in Sails.js applications as per requirements.
Installation
To install the Sails Logi2Loki hook in your Sails.js application:
Install the hook package:
npm install sails-logi2loki
Configure the hook in your Sails.js application:
just install as package hook and set variable
Optionally, configure additional options using environment variables or the Sails.js configuration files.
Configuration
The Sails Logi2Loki hook can be configured using the following options:
- LOKI_CONFIG_BASIC_AUTH: Basic authentication credentials for connecting to Loki (optional). Devidev by
:
ex:login:pass
. - LOKI_CONFIG_HOST: Host URL of the Loki instance. (hook disabled if not set this variables)
- LOKI_LABEL_*: Environment variables starting with
LOKI_LABEL_
are parsed as additional labels to attach to logs. For example,LOKI_LABEL_MY_LABEL=my_value
will add a labelmyLabel
with the valuemy_value
to each log entry.
Usage
Once installed and configured, the Sails Logi2Loki hook will automatically intercept log messages generated by your Sails.js application and transport them to the configured Loki instance. Logs will be tagged with appropriate labels based on the configuration.
// Example usage in Sails.js controllers, services, etc.
sails.log.info('This is an informational log message.');
sails.log.error('An error occurred:', new Error('Sample error'));
License
This project is licensed under the MIT License - see the LICENSE file for details.