diff options
author | Jordi Boggiano <j.boggiano@seld.be> | 2017-06-19 03:08:32 +0200 |
---|---|---|
committer | Jordi Boggiano <j.boggiano@seld.be> | 2017-06-19 03:09:14 +0200 |
commit | 69b21064ca55993d8083760af9b51a428e4edd6b (patch) | |
tree | 383237a2df5763aeebd36d536d626f87ab1cf325 /src | |
parent | 443e4a94fc00711cb618b446d071b2a027395c88 (diff) | |
download | monolog-69b21064ca55993d8083760af9b51a428e4edd6b.zip monolog-69b21064ca55993d8083760af9b51a428e4edd6b.tar.gz monolog-69b21064ca55993d8083760af9b51a428e4edd6b.tar.bz2 |
Fix level map override when using setExceptionHandler, fixes #1005
Diffstat (limited to 'src')
-rw-r--r-- | src/Monolog/ErrorHandler.php | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/src/Monolog/ErrorHandler.php b/src/Monolog/ErrorHandler.php index e4f0e83..d0b1aa6 100644 --- a/src/Monolog/ErrorHandler.php +++ b/src/Monolog/ErrorHandler.php @@ -77,7 +77,12 @@ class ErrorHandler public function registerExceptionHandler($levelMap = [], $callPrevious = true): self { $prev = set_exception_handler([$this, 'handleException']); - $this->uncaughtExceptionLevelMap = array_replace($this->defaultExceptionLevelMap(), $levelMap); + $this->uncaughtExceptionLevelMap = $levelMap; + foreach ($this->defaultExceptionLevelMap() as $class => $level) { + if (!isset($this->uncaughtExceptionLevelMap[$class])) { + $this->uncaughtExceptionLevelMap[$class] = $level; + } + } if ($callPrevious && $prev) { $this->previousExceptionHandler = $prev; } |