Skip to content

Commit

Permalink
bug #31590 [Cache] improve logged messages (nicolas-grekas)
Browse files Browse the repository at this point in the history
This PR was merged into the 4.3 branch.

Discussion
----------

[Cache] improve logged messages

| Q             | A
| ------------- | ---
| Branch?       | 4.3
| Bug fix?      | yes
| New feature?  | no
| BC breaks?    | no
| Deprecations? | no
| Tests pass?   | yes
| Fixed tickets | -
| License       | MIT
| Doc PR        | -

This was improved already in #31395, but the patch was incomplete.
This PR fixes this.

Commits
-------

257f3f1 [Cache] improve logged messages
  • Loading branch information
nicolas-grekas committed May 23, 2019
2 parents 90ca404 + 257f3f1 commit cf7a91c
Show file tree
Hide file tree
Showing 6 changed files with 18 additions and 15 deletions.
Expand Up @@ -253,7 +253,8 @@ public function deleteItems(array $keys)
}
} catch (\Exception $e) {
}
CacheItem::log($this->logger, 'Failed to delete key "{key}"', ['key' => $key, 'exception' => $e]);
$message = 'Failed to delete key "{key}"'.($e instanceof \Exception ? ': '.$e->getMessage() : '.');
CacheItem::log($this->logger, $message, ['key' => $key, 'exception' => $e]);
$ok = false;
}

Expand Down
Expand Up @@ -198,7 +198,7 @@ private function redisServerSupportSPOP(): bool
$info = $host->info('Server');
$info = isset($info['Server']) ? $info['Server'] : $info;
if (version_compare($info['redis_version'], '3.2', '<')) {
CacheItem::log($this->logger, 'Redis server needs to be version 3.2 or higher, your Redis server was detected as {version}', ['version' => $info['redis_version']]);
CacheItem::log($this->logger, 'Redis server needs to be version 3.2 or higher, your Redis server was detected as '.$info['redis_version']);

return $this->redisServerSupportSPOP = false;
}
Expand Down
9 changes: 5 additions & 4 deletions src/Symfony/Component/Cache/Simple/AbstractCache.php
Expand Up @@ -56,7 +56,7 @@ public function get($key, $default = null)
return $value;
}
} catch (\Exception $e) {
CacheItem::log($this->logger, 'Failed to fetch key "{key}"', ['key' => $key, 'exception' => $e]);
CacheItem::log($this->logger, 'Failed to fetch key "{key}": '.$e->getMessage(), ['key' => $key, 'exception' => $e]);
}

return $default;
Expand Down Expand Up @@ -90,7 +90,7 @@ public function getMultiple($keys, $default = null)
try {
$values = $this->doFetch($ids);
} catch (\Exception $e) {
CacheItem::log($this->logger, 'Failed to fetch requested values', ['keys' => $keys, 'exception' => $e]);
CacheItem::log($this->logger, 'Failed to fetch values: '.$e->getMessage(), ['keys' => $keys, 'exception' => $e]);
$values = [];
}
$ids = array_combine($ids, $keys);
Expand Down Expand Up @@ -129,7 +129,8 @@ public function setMultiple($values, $ttl = null)
foreach (\is_array($e) ? $e : array_keys($valuesById) as $id) {
$keys[] = substr($id, \strlen($this->namespace));
}
CacheItem::log($this->logger, 'Failed to save values', ['keys' => $keys, 'exception' => $e instanceof \Exception ? $e : null]);
$message = 'Failed to save values'.($e instanceof \Exception ? ': '.$e->getMessage() : '.');
CacheItem::log($this->logger, $message, ['keys' => $keys, 'exception' => $e instanceof \Exception ? $e : null]);

return false;
}
Expand Down Expand Up @@ -175,7 +176,7 @@ private function generateValues($values, &$keys, $default)
yield $key => $value;
}
} catch (\Exception $e) {
CacheItem::log($this->logger, 'Failed to fetch requested values', ['keys' => array_values($keys), 'exception' => $e]);
CacheItem::log($this->logger, 'Failed to fetch values: '.$e->getMessage(), ['keys' => array_values($keys), 'exception' => $e]);
}

foreach ($keys as $key) {
Expand Down
6 changes: 3 additions & 3 deletions src/Symfony/Component/Cache/Traits/AbstractAdapterTrait.php
Expand Up @@ -52,7 +52,7 @@ public function getItem($key)
$isHit = true;
}
} catch (\Exception $e) {
CacheItem::log($this->logger, 'Failed to fetch key "{key}"', ['key' => $key, 'exception' => $e]);
CacheItem::log($this->logger, 'Failed to fetch key "{key}": '.$e->getMessage(), ['key' => $key, 'exception' => $e]);
}

return $f($key, $value, $isHit);
Expand All @@ -74,7 +74,7 @@ public function getItems(array $keys = [])
try {
$items = $this->doFetch($ids);
} catch (\Exception $e) {
CacheItem::log($this->logger, 'Failed to fetch requested items', ['keys' => $keys, 'exception' => $e]);
CacheItem::log($this->logger, 'Failed to fetch items: '.$e->getMessage(), ['keys' => $keys, 'exception' => $e]);
$items = [];
}
$ids = array_combine($ids, $keys);
Expand Down Expand Up @@ -129,7 +129,7 @@ private function generateItems($items, &$keys)
yield $key => $f($key, $value, true);
}
} catch (\Exception $e) {
CacheItem::log($this->logger, 'Failed to fetch requested items', ['keys' => array_values($keys), 'exception' => $e]);
CacheItem::log($this->logger, 'Failed to fetch items: '.$e->getMessage(), ['keys' => array_values($keys), 'exception' => $e]);
}

foreach ($keys as $key) {
Expand Down
7 changes: 4 additions & 3 deletions src/Symfony/Component/Cache/Traits/AbstractTrait.php
Expand Up @@ -94,7 +94,7 @@ public function hasItem($key)
try {
return $this->doHave($id);
} catch (\Exception $e) {
CacheItem::log($this->logger, 'Failed to check if key "{key}" is cached', ['key' => $key, 'exception' => $e]);
CacheItem::log($this->logger, 'Failed to check if key "{key}" is cached: '.$e->getMessage(), ['key' => $key, 'exception' => $e]);

return false;
}
Expand Down Expand Up @@ -122,7 +122,7 @@ public function clear()
try {
return $this->doClear($this->namespace) || $cleared;
} catch (\Exception $e) {
CacheItem::log($this->logger, 'Failed to clear the cache', ['exception' => $e]);
CacheItem::log($this->logger, 'Failed to clear the cache: '.$e->getMessage(), ['exception' => $e]);

return false;
}
Expand Down Expand Up @@ -166,7 +166,8 @@ public function deleteItems(array $keys)
}
} catch (\Exception $e) {
}
CacheItem::log($this->logger, 'Failed to delete key "{key}"', ['key' => $key, 'exception' => $e]);
$message = 'Failed to delete key "{key}"'.($e instanceof \Exception ? ': '.$e->getMessage() : '.');
CacheItem::log($this->logger, $message, ['key' => $key, 'exception' => $e]);
$ok = false;
}

Expand Down
6 changes: 3 additions & 3 deletions src/Symfony/Component/Cache/Traits/ArrayTrait.php
Expand Up @@ -128,8 +128,8 @@ private function freeze($value, $key)
$serialized = serialize($value);
} catch (\Exception $e) {
$type = \is_object($value) ? \get_class($value) : \gettype($value);
$message = sprintf('Failed to save key "{key}" of type %s%s', $type, $e instanceof \Exception ? ': '.$e->getMessage() : '.');
CacheItem::log($this->logger, $message, ['key' => substr($id, \strlen($this->namespace)), 'exception' => $e instanceof \Exception ? $e : null]);
$message = sprintf('Failed to save key "{key}" of type %s: %s', $type, $e->getMessage());
CacheItem::log($this->logger, $message, ['key' => substr($id, \strlen($this->namespace)), 'exception' => $e]);

return;
}
Expand All @@ -151,7 +151,7 @@ private function unfreeze(string $key, bool &$isHit)
try {
$value = unserialize($value);
} catch (\Exception $e) {
CacheItem::log($this->logger, 'Failed to unserialize key "{key}"', ['key' => $key, 'exception' => $e]);
CacheItem::log($this->logger, 'Failed to unserialize key "{key}": '.$e->getMessage(), ['key' => $key, 'exception' => $e]);
$value = false;
}
if (false === $value) {
Expand Down

0 comments on commit cf7a91c

Please sign in to comment.