Types API
TypeScript types and interfaces.
Core Types
Logger
typescript
interface Logger {
trace(message: string, data?: Record<string, unknown>): void
debug(message: string, data?: Record<string, unknown>): void
info(message: string, data?: Record<string, unknown>): void
warn(message: string, data?: Record<string, unknown>): void
error(message: string, data?: Record<string, unknown>): void
fatal(message: string, data?: Record<string, unknown>): void
log(level: LogLevel, message: string, data?: Record<string, unknown>): void
setLevel(level: LogLevel): void
isLevelEnabled(level: LogLevel): boolean
child(context: Record<string, unknown>): Logger
flush(): Promise<void>
close(): Promise<void>
}LoggerOptions
typescript
interface LoggerOptions {
level?: LogLevel
formatter?: Formatter
transports?: Transport[]
plugins?: Plugin[]
context?: Record<string, unknown>
batch?: boolean
batchSize?: number
batchInterval?: number
}LogEntry
typescript
interface LogEntry {
level: LogLevel
timestamp: number
message: string
data?: Record<string, unknown>
}LogLevel
typescript
type LogLevel = 'trace' | 'debug' | 'info' | 'warn' | 'error' | 'fatal'Formatter Types
Formatter
typescript
interface Formatter {
format(entry: LogEntry): string
}Transport Types
Transport
typescript
interface Transport {
log(entry: LogEntry, formatted: string): Promise<void> | void
}Plugin Types
Plugin
typescript
interface Plugin {
name: string
onLog?(entry: LogEntry): LogEntry | null
flush?(traceId: string): void
}Tracing Types
TraceContext
typescript
interface TraceContext {
traceId: string // 32 hex chars
spanId: string // 16 hex chars
traceFlags: number // 0x00 or 0x01
traceState?: string // Vendor data
}TraceFlags
typescript
const TraceFlags = {
NONE: 0x00,
SAMPLED: 0x01
} as constSerializer Types
SerializedError
typescript
interface SerializedError {
type: string
message: string
stack?: string
cause?: SerializedError
[key: string]: unknown
}