Fixed incompatibility with django-redis >= 4.12.0 #416
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixed bug caused by trying to use global level logger variable from django_redis.cache that has been moved to django_redis.cache.RedisCache instance attribute since django-redis 4.12.0 release.
django-redis package allows to ignore cache exceptions by setting the
"IGNORE_EXCEPTIONS": True
key in the cache options in settings.py:or by defining the following global variable in settings.py:
When ignoring exceptions with
IGNORE_EXCEPTIONS
orDJANGO_REDIS_IGNORE_EXCEPTIONS
, you may optionally log exceptions using the global variableDJANGO_REDIS_LOG_IGNORED_EXCEPTIONS
in your settings file:django_prometheus RedisCache wrapper class respects these settings by inheriting them from
django_redis.cache.RedisCache
. However, in case when "ignore exceptions, but log them" strategy is used, django_prometheus RedisCache wrapper tries to access the global variabledjango_redis.cache.logger
. Unfortunately, this variable has been moved from global variable todjango_redis.cache.RedisCache
instance attribute since django-redis 4.12.0 release (specifically by this commit jazzband/django-redis@b7d64f0).This commit fixes the bug simply by changing the reference to logger from
django_redis.cache.logger
global variable to the instance attribute logger inherited by django_prometheus RedisCache wrapper.