Skip to content

Documentation / @agentick/kernel / LoggerConfig

Interface: LoggerConfig<TContext> ​

Defined in: kernel/src/logger.ts:90

Type Parameters ​

TContext ​

TContext extends KernelContext = KernelContext

Properties ​

base? ​

optional base: Record<string, unknown>

Defined in: kernel/src/logger.ts:118

Base properties to include in every log


contextFields? ​

optional contextFields: ContextFieldsExtractor<TContext>

Defined in: kernel/src/logger.ts:116

Custom function to extract fields from context. If not provided, only core KernelContext fields are extracted. Use this to add application-specific fields from user/metadata.

Example ​

typescript
Logger.configure({
  contextFields: (ctx) => ({
    // Core fields (you control what's included)
    request_id: ctx.requestId,
    trace_id: ctx.traceId,
    // Your custom fields
    tenantId: ctx.user?.tenantId,
    threadId: ctx.metadata?.threadId,
  }),
});

includeContext? ​

optional includeContext: boolean

Defined in: kernel/src/logger.ts:96

Auto-inject execution context into every log (default: true)


level? ​

optional level: LogLevel

Defined in: kernel/src/logger.ts:92

Log level (default: 'info')


mixin()? ​

optional mixin: () => Record<string, unknown>

Defined in: kernel/src/logger.ts:120

Custom mixin function for additional properties

Returns ​

Record<string, unknown>


prettyPrint? ​

optional prettyPrint: boolean

Defined in: kernel/src/logger.ts:122

Pretty print in development (default: true if NODE_ENV !== 'production')


replace? ​

optional replace: boolean

Defined in: kernel/src/logger.ts:128

Replace existing config instead of merging (default: false). When true, completely replaces the existing configuration. When false (default), merges with existing configuration.


transport? ​

optional transport: TransportSingleOptions<Record<string, any>> | TransportMultiOptions<Record<string, any>>

Defined in: kernel/src/logger.ts:94

Pino transport configuration

Released under the ISC License.