Skip to main content

Interface: ILogger

Defined in: src/types/interfaces/logger.interface.ts:63

Logger interface for structured logging.

Remarks​

Provides structured logging with JSON output for machine parsing.

Implementation notes:

  • Outputs JSON to stdout/stderr
  • Includes timestamp, level, message, context
  • Integrates with OpenTelemetry for tracing

Methods​

child()​

child(context): ILogger

Defined in: src/types/interfaces/logger.interface.ts:147

Creates a child logger with additional context.

Parameters​

context​

Readonly

Context to merge into all log entries

Returns​

ILogger

Child logger with merged context

Remarks​

Child loggers inherit parent context and add their own. Useful for per-request or per-operation logging.

Example​

const requestLogger = logger.child({ requestId: '123', userId: 'did:plc:abc' });
requestLogger.info('Processing request');
// Outputs: { requestId: '123', userId: 'did:plc:abc', message: 'Processing request' }

debug()​

debug(message, context?): void

Defined in: src/types/interfaces/logger.interface.ts:80

Logs a debug message.

Parameters​

message​

string

Log message

context?​

Readonly<Record<string, unknown>>

Additional context

Returns​

void

Remarks​

Debug messages are typically disabled in production.

Example​

logger.debug('Processing event', { eventType: 'commit', seq: 12345 });

error()​

error(message, error?, context?): void

Defined in: src/types/interfaces/logger.interface.ts:126

Logs an error message.

Parameters​

message​

string

Log message

error?​

Error

Error object (optional)

context?​

Readonly<Record<string, unknown>>

Additional context

Returns​

void

Example​

logger.error('Failed to index eprint', error, { uri: eprintUri });

info()​

info(message, context?): void

Defined in: src/types/interfaces/logger.interface.ts:95

Logs an info message.

Parameters​

message​

string

Log message

context?​

Readonly<Record<string, unknown>>

Additional context

Returns​

void

Example​

logger.info('Indexed eprint', { uri: eprintUri, duration: 150 });

warn()​

warn(message, context?): void

Defined in: src/types/interfaces/logger.interface.ts:110

Logs a warning message.

Parameters​

message​

string

Log message

context?​

Readonly<Record<string, unknown>>

Additional context

Returns​

void

Example​

logger.warn('Index is stale', { uri: eprintUri, staleness: 'high' });