@eryx/logging/JsonHandler Module

JSON

JSON log handler.

Encodes each log record as JSON and writes newline-delimited JSON (NDJSON) to a provided callback, stream-like object, or stdout.

Summary

Functions

API Reference

Functions

JsonHandler.new

Creates an NDJSON logging handler.

Output sink precedence:

  1. options.write(line, record) when provided
  2. options.stream (writeSync preferred, otherwise write)
  3. stdout
JsonHandler.new(options: Options?)Handler

Parameters

options: Options?

Optional sink and filtering options.

Returns

A logging handler suitable for structured log pipelines.

Types

LogRecord

type LogRecord = LoggingTypes.LogRecord
Implements: LoggingTypes.LogRecord

LevelInput

type LevelInput = LoggingTypes.LevelInput
Implements: LoggingTypes.LevelInput

Handler

type Handler = LoggingTypes.Handler
Implements: LoggingTypes.Handler

StreamLike

type StreamLike = { write: (((self: StreamLike, data: string) → ()))?, writeSync: (((self: StreamLike, data: string) → ()))? }
write: (((self: StreamLike, data: string) → ()))?
writeSync: (((self: StreamLike, data: string) → ()))?

Options

type Options = { level: LevelInput?, filter: (((record: LogRecord) → boolean))?, write: (((line: string, record: LogRecord) → ()))?, stream: StreamLike? }
level: LevelInput?
filter: (((record: LogRecord) → boolean))?
write: (((line: string, record: LogRecord) → ()))?
stream: StreamLike?