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}"
}
))
}
}
Content copied to clipboard
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)