summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJordi Boggiano <j.boggiano@seld.be>2017-06-19 03:08:32 +0200
committerJordi Boggiano <j.boggiano@seld.be>2017-06-19 03:09:14 +0200
commit69b21064ca55993d8083760af9b51a428e4edd6b (patch)
tree383237a2df5763aeebd36d536d626f87ab1cf325 /src
parent443e4a94fc00711cb618b446d071b2a027395c88 (diff)
downloadmonolog-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.php7
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;
}