Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

@loglayer/plugin-redaction

loglayer7.8kMIT2.1.1TypeScript support: included

Log redaction plugin for loglayer.

logging, log, loglayer, readact, redaction, secure, plugin

readme

Redaction Plugin for LogLayer

NPM Version NPM Downloads TypeScript

The redaction plugin for loglayer provides data redaction support for LogLayer using fast-redact. It allows you to automatically redact sensitive information from your logs.

It currently only performs redaction on metadata.

Installation

npm install @loglayer/plugin-redaction

Usage

import { LogLayer, ConsoleTransport } from 'loglayer'
import { redactionPlugin } from '@loglayer/plugin-redaction'

const log = new LogLayer({
  transport: new ConsoleTransport({
    logger: console
  }),
  plugins: [
    redactionPlugin({
      paths: ["password", "creditCard"],
      censor: "[REDACTED]"
    })
  ]
})

// Example usage
log.withMetadata({ 
  user: "john", 
  password: "secret123",
  creditCard: "1234-5678-9012-3456"
}).info("User logged in")
// Output will redact password and creditCard fields

Configuration Options

The plugin accepts the following options:

interface RedactionPluginOptions {
  /**
   * Unique identifier for the plugin. Used for selectively disabling / enabling
   * and removing the plugin.
   */
  id?: string;

  /**
   * If true, the plugin will skip execution
   */
  disabled?: boolean;

  /**
   * An array of strings describing the nested location of a key in an object.
   * See https://www.npmjs.com/package/fast-redact for path syntax.
   */
  paths?: string[];

  /**
   * This is the value which overwrites redacted properties.
   * Default: "[REDACTED]"
   */
  censor?: string | ((v: any) => any);

  /**
   * When set to true, will cause keys to be removed from the serialized output.
   * Default: false
   */
  remove?: boolean;

  /**
   * When set to true, will cause the redactor function to throw if instead of an object it finds a primitive.
   * Default: false
   */
  strict?: boolean;
}

Documentation

For more details, visit https://loglayer.dev/plugins/redaction

changelog

LogLayer Changelog

Please visit the What's New page for latest updates.

Visit the home page to see changelog links for LogLayer packages.