Skip to content

Commit b6bd5e0

Browse files
authored
Merge pull request #19 from AveryLevin/add_logging
Add Exception Logging
2 parents 39e163f + 8146149 commit b6bd5e0

File tree

2 files changed

+31
-7
lines changed

2 files changed

+31
-7
lines changed

cache_helper/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
VERSION = (1, 0, 3)
1+
VERSION = (1, 0, 4)

cache_helper/decorators.py

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
import logging
2+
13
try:
24
from _pylibmc import Error as CacheSetError
35
except ImportError:
@@ -10,6 +12,7 @@
1012

1113
from cache_helper import utils
1214

15+
logger = logging.getLogger(__name__)
1316

1417
def cached(timeout):
1518
def _cached(func):
@@ -23,6 +26,10 @@ def wrapper(*args, **kwargs):
2326
try:
2427
value = cache.get(cache_key)
2528
except Exception:
29+
logger.warning(
30+
f'Error retrieving value from Cache for Key: {function_cache_key}',
31+
exc_info=True,
32+
)
2633
value = None
2734

2835
if value is None:
@@ -34,7 +41,10 @@ def wrapper(*args, **kwargs):
3441
cache.set(cache_key, value, timeout)
3542

3643
except CacheSetError:
37-
pass
44+
logger.warning(
45+
f'Error saving value to Cache for Key: {function_cache_key}',
46+
exc_info=True,
47+
)
3848

3949
return value
4050

@@ -71,6 +81,10 @@ def wrapper(*args, **kwargs):
7181
try:
7282
value = cache.get(cache_key)
7383
except Exception:
84+
logger.warning(
85+
f'Error retrieving value from Cache for Key: {function_cache_key}',
86+
exc_info=True,
87+
)
7488
value = None
7589

7690
if value is None:
@@ -81,7 +95,10 @@ def wrapper(*args, **kwargs):
8195
try:
8296
cache.set(cache_key, value, timeout)
8397
except CacheSetError:
84-
pass
98+
logger.warning(
99+
f'Error saving value to Cache for Key: {function_cache_key}',
100+
exc_info=True,
101+
)
85102

86103
return value
87104

@@ -132,10 +149,14 @@ def __get__(self, obj, objtype):
132149
return fn
133150

134151
def __call__(self, *args, **kwargs):
135-
cache_key = self.create_cache_key(*args, **kwargs)
152+
cache_key, function_cache_key = self.create_cache_key(*args, **kwargs)
136153
try:
137154
value = cache.get(cache_key)
138155
except Exception:
156+
logger.warning(
157+
f'Error retrieving value from Cache for Key: {function_cache_key}',
158+
exc_info=True,
159+
)
139160
value = None
140161
if value is None:
141162
value = self.func(*args, **kwargs)
@@ -145,7 +166,10 @@ def __call__(self, *args, **kwargs):
145166
try:
146167
cache.set(cache_key, value, timeout)
147168
except CacheSetError:
148-
pass
169+
logger.warning(
170+
f'Error saving value to Cache for Key: {function_cache_key}',
171+
exc_info=True,
172+
)
149173
return value
150174

151175
def _invalidate(self, *args, **kwargs):
@@ -156,14 +180,14 @@ def _invalidate(self, *args, **kwargs):
156180
:param kwargs: The kwargs passed into the original function.
157181
:rtype: None
158182
"""
159-
cache_key = self.create_cache_key(*args, **kwargs)
183+
cache_key, _ = self.create_cache_key(*args, **kwargs)
160184
cache.delete(cache_key)
161185

162186
def create_cache_key(self, *args, **kwargs):
163187
# Need to include the first arg (self) in the cache key
164188
func_name = utils.get_function_name(self.func)
165189
function_cache_key = utils.get_function_cache_key(func_name, args, kwargs)
166190
cache_key = utils.get_hashed_cache_key(function_cache_key)
167-
return cache_key
191+
return cache_key, function_cache_key
168192

169193
return wrapper

0 commit comments

Comments
 (0)