Logging Kit

Structured JSON logs with correlation IDs, level filtering, and service grouping.

0 / 0 lines
Click "Start Streaming" to see live logs
debug: 0info: 0warn: 0error: 0

Integration Code

import { createLogger, JsonTransport, CloudWatchTransport } from 'agent-tools-kit/observability'

const logger = createLogger({
  level: process.env.LOG_LEVEL || 'info',  // debug | info | warn | error
  transports: [
    new JsonTransport({ pretty: process.env.NODE_ENV !== 'production' }),
    new CloudWatchTransport({ logGroup: '/agents/my-agent' }),
  ],
  // Auto-attach correlation IDs across the request lifecycle
  correlationId: { header: 'x-correlation-id', generate: 'uuid' },
  // Redact sensitive fields before logging
  redact: ['password', 'apiKey', 'authorization', 'ssn'],
  // Default metadata attached to every log
  defaultMeta: { service: 'my-agent', version: '1.2.0' },
})

// Structured logging
logger.info('Processing request', { userId: 'user-42', turn: 5 })
logger.warn('Slow tool execution', { tool: 'web-search', duration: 2340 })
logger.error('Tool failed', { tool: 'db-query', error: err.message })

// Child loggers inherit context
const reqLogger = logger.child({ requestId: req.id, userId: req.user.id })
reqLogger.info('Handling chat message')  // includes requestId + userId

// Auto-instrument agent pipeline
agent.use(logger.middleware({
  logRequests: true,
  logResponses: true,
  logToolCalls: true,
  logTokenUsage: true,
}))