TraceFeatureMessageLogWriter

class TraceFeatureMessageLogWriter(targetLogger: KLogger, logLevel: FeatureMessageLogWriter.LogLevel = LogLevel.INFO, format: (FeatureMessage) -> String? = null) : FeatureMessageLogWriter(source)

A message processor that writes trace events to a logger.

This writer captures all trace events and writes them to the specified logger at the configured log level. It formats each event type differently to provide clear and readable logs.

Tracing to logs is particularly useful for:

  • Integration with existing logging infrastructure

  • Real-time monitoring of agent behavior

  • Filtering and searching trace events using log management tools

Example usage:

// Create a logger
val logger = LoggerFactory.create("ai.koog.agents.tracing")

val agent = AIAgent(...) {
install(Tracing) {
// Write trace events to logs at INFO level (default)
addMessageProcessor(TraceFeatureMessageLogWriter(logger))

// Write trace events to logs at DEBUG level
addMessageProcessor(TraceFeatureMessageLogWriter(
targetLogger = logger,
logLevel = LogLevel.DEBUG
))

// Optionally provide custom formatting
addMessageProcessor(TraceFeatureMessageLogWriter(
targetLogger = logger,
format = { message ->
"[TRACE] ${message.eventId}: ${message::class.simpleName}"
}
))
}
}

Parameters

targetLogger

The logger to write trace events to

logLevel

The log level to use for trace events (default: INFO)

format

Optional custom formatter for trace events

Constructors

Link copied to clipboard
constructor(targetLogger: KLogger, logLevel: FeatureMessageLogWriter.LogLevel = LogLevel.INFO, format: (FeatureMessage) -> String? = null)

Functions

Link copied to clipboard
open suspend override fun close()
Link copied to clipboard
open suspend fun initialize()
Link copied to clipboard
open suspend override fun processMessage(message: FeatureMessage)
Link copied to clipboard