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 preprint', error, { uri: preprintUri });

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 preprint', { uri: preprintUri, 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: preprintUri, staleness: 'high' });