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
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' });