New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

enrisk-logger

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

enrisk-logger

Enterprise logging solution with Grafana integration

latest
npmnpm
Version
1.1.0
Version published
Maintainers
1
Created
Source

@enrisk/logger

Enterprise-grade logging solution with Loki and Datadog support.

Installation

Add the package directly from GitHub to your project's package.json:

{
  "dependencies": {
    "@enrisk/logger": "git+https://github.com/Enrisk/logger.git"
  }
}

Then install dependencies:

# Install pnpm if you haven't already
npm install -g pnpm

# Install dependencies
pnpm install

Architecture

flowchart LR
    A[Application] --> B[Logger]
    B --> C[Console]
    B --> D[Files]
    B --> E[Loki]
    E --> F[Grafana]
    F --> G[Dashboards]
    
    classDef storage fill:#f9f,stroke:#333,stroke-width:2px
    classDef viz fill:#bbf,stroke:#333,stroke-width:2px
    
    class D,E storage
    class F,G viz

Quick Start

import { Logger } from '@enrisk/logger';

const logger = new Logger({
  service: 'my-service',
  storage: {
    type: 'loki',
    config: {
      lokiUrl: 'http://localhost:3100',
      lokiLabels: {
        environment: 'development',
        team: 'my-team'
      }
    }
  }
});

// Log messages
logger.info('Application started');
logger.error('An error occurred', { error: new Error('Something went wrong') });

Configuration Options

Loki with API Key Authentication

When your Loki instance is protected by NGINX with API key validation, you can configure the logger to include the x-api-key header:

import { Logger } from '@enrisk/logger';

const logger = new Logger({
  service: 'my-service',
  storage: {
    type: 'loki',
    config: {
      lokiUrl: 'http://your-loki-server:3100',
      lokiApiKey: 'your-api-key-here',
      lokiLabels: {
        environment: 'production',
        team: 'my-team'
      }
    }
  }
});

This will automatically include the x-api-key header in all requests to Loki, allowing your NGINX configuration to validate the API key as shown in your nginx config:

if ($http_x_api_key != "your-api-key-here") {
    return 401 "Unauthorized: API key required";
}

Other Storage Backends

Datadog

const logger = new Logger({
  service: 'my-service',
  storage: {
    type: 'datadog',
    config: {
      datadogApiKey: 'your-datadog-api-key',
      datadogHost: 'intake.logs.datadoghq.com',
      datadogTags: ['env:production', 'team:backend']
    }
  }
});

File Logging

const logger = new Logger({
  service: 'my-service',
  storage: {
    type: 'file',
    config: {
      logDir: './logs',
      maxFiles: '14d',
      maxSize: '20m'
    }
  }
});

Features

  • Console and file logging
  • Loki integration for centralized logging
  • Datadog integration
  • TypeScript support
  • Daily log rotation
  • Structured logging

Development

# Install dependencies
pnpm install

# Build
pnpm build

# Run tests
pnpm test

# Run linting
pnpm lint

Keywords

logging

FAQs

Package last updated on 07 Sep 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts