• Nathan Harris's avatar
    Refactor Logging implementation · 90244e32
    Nathan Harris authored
    The original implementation of Logging was done in more haste than should have been, without proper attention given to the semantic requirements.
    As the Swift ecosystem has matured a bit, lessons have been learned on handling metadata and passing of external context into internal subcomponents.
    A mixture of the "protocol-based context passing" and "explicit context passing" patterns have been adopted.
    Both patterns are more fully described in the Swift forum discussion: https://forums.swift.org/t/the-context-passing-problem/39162
    - Add: `RedisLogging` namespace with references to static keys and labels that are used for Logging throughout the library
    - Add: `Logger` static computed properties to access the Logger prototypes used in connection and connection pools
    - Add: `RedisClientWithUserContext` protocol and `UserContextRedisClient` types to assist with wrapping client types for custom logger contexts
    - Remove: `logger` property from `Red...
After you've reviewed these contribution guidelines, you'll be all set to contribute to this project.