@silkweave/logger
v1.6.0
Published
Silkweave Logger
Downloads
956
Readme
@silkweave/logger
Logging utilities for Silkweave. Provides a unified Logger interface with multiple backends - pino for stream logging, clack for terminal UI, and callback hooks for MCP notifications.
Install
pnpm add @silkweave/loggerWhat's Inside
Loggerinterface - 8 severity levels (debugthroughemergency) plusprogress()createLogger()- Factory that creates a Logger backed by pino, with optionalonLogandonProgresscallbackscreateCLILogger()- Logger that outputs via@clack/promptsfor beautiful terminal UIbuildLogLevels()- Build a log-level record from a single callback function
Usage
import { createLogger } from '@silkweave/logger'
const logger = createLogger({
stream: process.stderr,
onLog: (level, data) => {
// Hook into log events (e.g., send MCP notifications)
},
onProgress: ({ progress, total, message }) => {
// Hook into progress events
}
})
logger.info('Starting operation')
logger.progress({ progress: 5, total: 10, message: 'Halfway there' })Logger Interface
interface Logger {
debug: (data: unknown) => void
info: (data: unknown) => void
notice: (data: unknown) => void
warning: (data: unknown) => void
error: (data: unknown) => void
critical: (data: unknown) => void
alert: (data: unknown) => void
emergency: (data: unknown) => void
progress: (options: ProgressOptions) => void
}
interface ProgressOptions {
progress: number
total?: number
message?: string
}See Also
- Silkweave README - Full documentation
@silkweave/core- Core library
