class ConsoleLogger
implements ILogger
Since 0.1.0

Structured logger that writes JSON lines (or pretty text) to console.

Runtime-independent: timestamps come from IRuntimeServices.now, never from Date.now() directly.

Examples

Example 1

const logger = new ConsoleLogger(runtime, { level: 'debug', pretty: true });
logger.info('server started', { port: 3000 });
const child = logger.child({ requestId: 'abc' });
child.debug('handling request');

Constructors

ConsoleLogger(
runtime: IRuntimeServices,
)
Parameters
runtime: IRuntimeServices

Runtime services (for timestamps)

optional
options: ConsoleLoggerOptions

Configuration

Properties

readonly
level: LogLevel

The minimum level this logger emits.

Methods

child(bindings: LogMetadata): ILogger

Returns a new logger whose entries always include bindings merged on top of this logger's existing bindings.

debug(
message: string,
metadata?: LogMetadata
): void

Logs at debug severity.

error(
message: string,
metadata?: LogMetadata
): void

Logs at error severity.

fatal(
message: string,
metadata?: LogMetadata
): void

Logs at fatal severity.

info(
message: string,
metadata?: LogMetadata
): void

Logs at info severity.

trace(
message: string,
metadata?: LogMetadata
): void

Logs at trace severity.

warn(
message: string,
metadata?: LogMetadata
): void

Logs at warn severity.

Usage

import { ConsoleLogger } from "logger-plugin/src/index.ts";