Problem/Motivation
The SysLog logger service depends on the configuration storage service (which in turn depends on the configuration caching service) and that creates a circular service dependency in some cases when using an alternative backend for caching that itself requires logging.
Steps to reproduce
Examples:
- Memcache module: https://www.drupal.org/project/memcache/issues/2887558
- File Cache module: https://www.drupal.org/project/filecache/issues/3045245
Proposed resolution
Starting at comment #15, an alternative solution is being worked on: We can use a ServiceProvider to decouple the SysLog service from config storage.
Original proposed resolution: I am not sure if there is a solution unless we lift this dependency and do not store the SysLog module's settings as configuration. I don't believe State would be the solution as it's not meant (and it's not in many cases) persistent in many cases. A possible solution is to use site settings i.e. configure SysLog in the settings.php file. That would require sites to update their settings files; that is mitigated by proper upgrade instructions.
Any other suggestions?
Remaining tasks
Review the patch.
User interface changes
API changes
For backwards compatibility, the SysLog service accepts either the config factory or the config array as service argument.