API Reference
Severity
Section titled “Severity”enum Severity { Silly = 0, Trace = 1, Debug = 2, Info = 3, Warn = 4, Error = 5, Fatal = 6,}LogRecord
Section titled “LogRecord”interface LogRecord { severity: Severity; severityName: string; timestamp: Date; message: string; meta: LogMeta;}Core Interfaces
Section titled “Core Interfaces”type LogMeta = Record<string, unknown>;
interface Processor { process(log: LogRecord): LogRecord;}
interface Transport { formatter?: Formatter; capture(log: LogRecord): void; flush?(): Promise<void>; close?(): Promise<void>;}
interface Formatter { format(log: LogRecord): string;}flush() leaves a transport open. close() flushes pending records and
releases transport resources. Both methods are optional for synchronous
transports.
Logger Creation
Section titled “Logger Creation”createLogger(options): creates a structured logger facade.createNamedLogger(options): creates a logger and adds aloggermetadata field.createChildLogger(logger, meta): creates a logger with inherited metadata.createLoggerFacade(logger): wraps an existing logger with convenience methods.
Processors
Section titled “Processors”CompositeProcessorDefaultsProcessorRedactProcessorErrorProcessor
Transports
Section titled “Transports”ConsoleTransportMemoryTransportCompositeTransportLineConsoleTransportWriterTransport
type LogWriter = (output: string, log: LogRecord) => void;
class WriterTransport implements Transport { constructor(formatter: Formatter, write: LogWriter);}CompositeTransport forwards lifecycle operations to its resolved child
transports. LineConsoleTransport supports flush() and close() for its
buffered writes.
Formatters
Section titled “Formatters”PrettyFormatterJsonFormatterTextFormatterPrintfFormatter