1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-08-10 23:24:02 +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) {
foreach ($record as $name => $value) {
if ($value instanceof \DateTime) {
if ($value instanceof \DateTimeInterface) {
$record[$name] = $this->formatDate($value, $nestingLevel + 1);
} elseif ($value instanceof \Exception) {
} elseif ($value instanceof \Throwable) {
$record[$name] = $this->formatException($value, $nestingLevel + 1);
} elseif (is_array($value)) {
$record[$name] = $this->formatArray($value, $nestingLevel + 1);
@@ -82,7 +82,7 @@ class MongoDBFormatter implements FormatterInterface
return $this->formatArray($objectVars, $nestingLevel);
}
protected function formatException(\Exception $exception, $nestingLevel)
protected function formatException(\Throwable $exception, $nestingLevel)
{
$formattedException = array(
'class' => get_class($exception),
@@ -100,7 +100,7 @@ class MongoDBFormatter implements FormatterInterface
return $this->formatArray($formattedException, $nestingLevel);
}
protected function formatDate(\DateTime $value, $nestingLevel)
protected function formatDate(\DateTimeInterface $value, $nestingLevel)
{
$seconds = (int) $value->format('U');
$milliseconds = (int) $value->format('u') / 1000;