Ruby logging library (installed via rails_semantic_logger for Rails bindings). Supports structured JSON payloads, automatic logging for many libraries including ActiveJob, a proc-based filter to drop certain logs, and an appenders system for shipping logs to external destinations (e.g. an HTTP appender that batches logs and sends them to vendors like Dynatrace). Callaghan evaluates it as the best option in Ruby today: structured payloads, Rails integration, good docs, mature. Used in production at BiggerPockets for three years. Weaknesses: no baked-in attribute-naming conventions (addressable by adopting OpenTelemetry Semantic Conventions), no automatic HTTP headers / user-agent logging (addressable via config.log_tags), no outbound API request logging (addressable via a Faraday middleware).