diff --git a/dmemcache.inc b/dmemcache.inc index 4f0525d..470ccee 100644 --- a/dmemcache.inc +++ b/dmemcache.inc @@ -42,6 +42,18 @@ function dmemcache_set($key, $value, $exp = 0, $bin = 'cache') { } } $_memcache_statistics[] = array('set', $bin, $full_key, (int)$success); + + if ($success === FALSE) { + if ($mc instanceof Memcached) { + $error = $mc->getResultMessage(); + } + else { + $error = 'error'; + } + $size = round(strlen(serialize($value))/1024) . 'KB'; + register_shutdown_function('watchdog', 'memcache', 'Memcache set failed with %error for key: %key in cache bin: %bin with item size: %size (uncompressed).', array('%error' => $error, '%key' => $key, '%bin' => $bin, '%size' => $size), WATCHDOG_ERROR); + } + return $success; }