Skip to content
  • Nathan Harris's avatar
    Revisit user Logging configuration for connections and clients · 209ba87b
    Nathan Harris authored
    Motivation:
    
    Logging is more dynamic in real world usage than the current static heavy API allows.
    
    Users generally want to be capable of updating connection logger metadata to attach dynamic properties such as an HTTP request ID for log tracing.
    
    Modifications:
    
    - Move all logs to `RedisConnection`
    - Add `id: UUID` property to `RedisConnection`
    - Add `logging` property and `setLogging(to:)` method requirements to `RedisClient`
    - Add chainable `logging(to:)` method extension to `RedisClient`
    - Add additional `trace` log statements to `RedisConnection`
    - Change when `RedisConnection.init` logging and metric calls are made
    - Change some `debug` log statements to `trace in `RedisConnection`
    
    Result:
    
    Users should have infinitely more flexibility in how RedisConnection, and RedisClient  implementations in general, behave in regards to logging.
    209ba87b