log method

  1. @override
void log(
  1. LogLevel level,
  2. String message, {
  3. String? source,
  4. Map<String, dynamic>? metadata,
})
override

Logs a message with the specified level and optional metadata.

level The severity level of the log message. message The message to log. source Optional source identifier (e.g., client name, agent name). metadata Optional additional data related to the log entry.

Implementation

@override
void log(LogLevel level, String message, {String? source, Map<String, dynamic>? metadata}) {
  final timestamp = DateTime.now().toIso8601String();
  final sourceStr = source != null ? '[$source] ' : '';
  final levelStr = level.name;

  print('$timestamp [$levelStr] $sourceStr$message\n');

  // Print metadata if available
  if (metadata != null && metadata.isNotEmpty) {
    print('  Metadata: $metadata');
  }
}