onLogging method

void onLogging(
  1. dynamic handler(
    1. McpLogLevel,
    2. String,
    3. String?,
    4. Map<String, dynamic>?,
    )
)

Handle logging notification

Implementation

void onLogging(
  Function(McpLogLevel, String, String?, Map<String, dynamic>?) handler,
) {
  onNotification(McpProtocol.methodLog, (params) {
    // Parse level as string according to MCP 2025-03-26 spec
    final levelString = params['level'] as String;
    final level = _parseLogLevel(levelString);

    final logger = params['logger'] as String?;

    // Extract message and additional data from data object according to spec
    final dataMap = params['data'] as Map<String, dynamic>?;
    final message = dataMap?['message'] as String? ?? '';

    handler(level, message, logger, dataMap);
  });
}