1.0.5 • Published 5 months ago

ambak-express-logger v1.0.5

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

Express Logger

A comprehensive logging middleware for Express applications with distributed tracing support. This package provides structured logging, request/response tracking, error handling, and distributed tracing capabilities.

Features

  • Request/Response logging with customizable sanitization
  • Distributed tracing support (W3C Trace Context and Cloud Trace)
  • Context propagation across async operations
  • Error logging middleware
  • Configurable log formats (JSON/Pretty)
  • Sensitive data redaction
  • Performance metrics
  • Cloud-friendly logging format

Installation

npm install express-logger

Quick Start

const express = require('express');
const { requestLoggerMiddleware, errorLoggerMiddleware } = require('express-logger');

const app = express();

// Add request logging middleware
app.use(requestLoggerMiddleware);

// Your routes here
app.get('/', (req, res) => {
  req.log.info('Hello World!');
  res.send('Hello World!');
});

// Add error logging middleware (should be last)
app.use(errorLoggerMiddleware);

app.listen(3000, () => {
  logger.info('Server started on port 3000');
});

Configuration

The logger can be configured through environment variables:

LOG_LEVEL=info                    # Logging level (trace, debug, info, warn, error, fatal)
LOG_FORMAT=json                   # Log format (json, pretty)
PROJECT_ID=my-project            # Project ID for cloud logging
LOGGER_SENSITIVE_HEADERS=auth,key # Comma-separated list of sensitive headers

API Reference

Logger

The base logger instance provides standard logging levels:

logger.trace('Trace message');
logger.debug('Debug message');
logger.info('Info message');
logger.warn('Warning message');
logger.error('Error message');
logger.fatal('Fatal message');

Request Context

Access request-scoped context in your routes:

app.get('/api', (req, res) => {
  const context = req.log.context;
  // Access traceId, spanId, requestId
});

Middleware

  • requestLoggerMiddleware: Logs incoming requests and outgoing responses
  • errorLoggerMiddleware: Logs uncaught errors with stack traces
1.0.5

5 months ago

1.0.4

5 months ago

1.0.3

5 months ago

1.0.2

5 months ago

1.0.1

5 months ago

1.0.0

5 months ago