1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-08-18 02:41:24 +02:00

Update to use more generic interfaces

PHP 7 can throw Errors and Exceptions, so use `Throwable` interface. `DateTimeInterface` allows for both `DateTime` and `DateTimeImmutable`.
This commit is contained in:
Mark Garrett
2016-02-19 17:33:40 -06:00
parent f585e714fc
commit e9ea22ffeb

View File

@@ -57,9 +57,9 @@ class MongoDBFormatter implements FormatterInterface
{ {
if ($this->maxNestingLevel == 0 || $nestingLevel <= $this->maxNestingLevel) { if ($this->maxNestingLevel == 0 || $nestingLevel <= $this->maxNestingLevel) {
foreach ($record as $name => $value) { foreach ($record as $name => $value) {
if ($value instanceof \DateTime) { if ($value instanceof \DateTimeInterface) {
$record[$name] = $this->formatDate($value, $nestingLevel + 1); $record[$name] = $this->formatDate($value, $nestingLevel + 1);
} elseif ($value instanceof \Exception) { } elseif ($value instanceof \Throwable) {
$record[$name] = $this->formatException($value, $nestingLevel + 1); $record[$name] = $this->formatException($value, $nestingLevel + 1);
} elseif (is_array($value)) { } elseif (is_array($value)) {
$record[$name] = $this->formatArray($value, $nestingLevel + 1); $record[$name] = $this->formatArray($value, $nestingLevel + 1);
@@ -82,7 +82,7 @@ class MongoDBFormatter implements FormatterInterface
return $this->formatArray($objectVars, $nestingLevel); return $this->formatArray($objectVars, $nestingLevel);
} }
protected function formatException(\Exception $exception, $nestingLevel) protected function formatException(\Throwable $exception, $nestingLevel)
{ {
$formattedException = array( $formattedException = array(
'class' => get_class($exception), 'class' => get_class($exception),
@@ -100,7 +100,7 @@ class MongoDBFormatter implements FormatterInterface
return $this->formatArray($formattedException, $nestingLevel); return $this->formatArray($formattedException, $nestingLevel);
} }
protected function formatDate(\DateTime $value, $nestingLevel) protected function formatDate(\DateTimeInterface $value, $nestingLevel)
{ {
$seconds = (int) $value->format('U'); $seconds = (int) $value->format('U');
$milliseconds = (int) $value->format('u') / 1000; $milliseconds = (int) $value->format('u') / 1000;