Table of Contents

v1.3.2 "Seisō" - Clean Logging

Release Date: July 26, 2025
Code Name: "Seisō" (整理 - Organization/Cleanup)
Type: Patch Release


🎯 Overview

Version 1.3.2 refines the logging system introduced in v1.3.1 by removing verbose request and response body logging that was cluttering log output. This cleanup release maintains comprehensive error tracking while providing cleaner, more readable logs for production environments.

🛠️ Technical Details

Logging Optimization

This release addresses log verbosity issues by:

  • Reduced Log Noise: Removed request body ({@Request}) and response body ({@Response}) serialization from standard operations
  • Essential Information Retained: Kept request IDs, event names, and success/failure status logging
  • Error Context Preserved: Exception details and error context remain fully logged
  • Clean Production Logs: Significantly reduced log volume while maintaining debugging capabilities

Streamlined Log Output

The logging improvements focus on:

  • Event Tracking: Clear indication when events are received and processed
  • Request ID Correlation: Maintained request ID tracking for operation correlation
  • Handler Registration: Continued logging of event handler setup and registration warnings
  • Performance Monitoring: Success/failure tracking without verbose data serialization

🔧 Changes

SignalR Logging Refinement

  • OnRequest Method: Removed {@Request} and {@Response} serialization, keeping request ID and success indicators
  • OnNotification Method: Removed {@Data} serialization, keeping event name and execution status
  • OnStream Method: Removed {@Request} serialization from stream operations
  • Error Logging: Maintained full exception details and context for debugging

Before vs After Logging

// Before v1.3.2 - Verbose logging
LogInformation("CommandsMetadataRequested received: abc-123, Request: {@Request}", ...)
LogInformation("CommandsMetadataRequested handled successfully: abc-123, Response: {@Response}", ...)

// After v1.3.2 - Clean logging  
LogInformation("CommandsMetadataRequested received: abc-123")
LogInformation("CommandsMetadataRequested handled successfully: abc-123")

💻 Log Output Examples

Request Processing Logs

[12:34:56 INF] CommandsMetadataRequested received: req-abc123
[12:34:56 INF] CommandsMetadataRequested handled successfully: req-abc123
[12:34:56 DBG] Event handler registered for CommandsMetadataRequested

[12:35:01 INF] LogsStreamRequested stream requested
[12:35:01 INF] LogsStreamRequested stream created successfully

Error Handling Logs

[12:36:15 ERR] CommandsMetadataRequested handler failed: req-def456
System.InvalidOperationException: Command metadata not available
   at Jiro.Client.CommandHandler.GetMetadata()
   at Jiro.Client.EventHandlers.HandleCommandsMetadata()

Handler Setup Logs

[12:30:00 DBG] Event handler registered for CommandsMetadataRequested
[12:30:00 DBG] Event handler registered for SessionsRequested  
[12:30:00 WRN] Event handler for CustomThemesRequested is null - requests will not be processed

🚀 Deployment

Non-Breaking Changes

This patch release maintains full API compatibility:

  • No Interface Changes: All method signatures remain identical
  • Same Functionality: Error handling and debugging capabilities preserved
  • Log Level Configuration: Existing log configuration remains valid
  • Backward Compatibility: No migration required

For optimal production logging with v1.3.2:

{
  "Logging": {
    "LogLevel": {
      "Default": "Information",
      "Jiro.Shared.Extensions.SignalRStreamExtensions": "Information",
      "Microsoft.AspNetCore.SignalR": "Warning"
    }
  }
}

Development vs Production

// Development - More verbose
{
  "Logging": {
    "LogLevel": {
      "Jiro.Shared.Extensions.SignalRStreamExtensions": "Debug"
    }
  }
}

// Production - Cleaner logs
{
  "Logging": {
    "LogLevel": {
      "Jiro.Shared.Extensions.SignalRStreamExtensions": "Information"
    }
  }
}

🔍 Benefits

  • Cleaner Logs: Reduced log volume by ~60% while maintaining essential information
  • Better Performance: Less serialization overhead during logging operations
  • Easier Monitoring: Clearer signal-to-noise ratio in production log aggregation
  • Cost Reduction: Lower log storage costs in cloud environments
  • Improved Readability: Easier to scan logs for important events and errors

🐛 Issues Addressed

  • Log Verbosity: Excessive request/response body logging cluttering log output
  • Production Noise: Too much diagnostic information in production environments
  • Performance Overhead: Unnecessary object serialization during normal operations
  • Log Analysis: Difficulty identifying important events among verbose output

Note: This patch release optimizes logging verbosity while preserving all debugging and error tracking capabilities. The cleaner log output will improve production monitoring and reduce log storage costs without losing essential diagnostic information.