From 8710c0c23756621dec723d3321fbddeebe026ee7 Mon Sep 17 00:00:00 2001 From: Romain Tripault Date: Wed, 28 Sep 2022 10:04:22 +0200 Subject: [PATCH] Added ability to forward logs to an ArrayAccess --- src/xPDO/xPDO.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/xPDO/xPDO.php b/src/xPDO/xPDO.php index 6f246a3..12d8b5d 100644 --- a/src/xPDO/xPDO.php +++ b/src/xPDO/xPDO.php @@ -2093,9 +2093,17 @@ protected function _log($level, $msg, $target= '', $def= '', $file= '', $line= ' $filename = isset($targetOptions['filename']) ? $targetOptions['filename'] : 'error.log'; $filepath = isset($targetOptions['filepath']) ? $targetOptions['filepath'] : $this->getCachePath() . Cache\xPDOCacheManager::LOG_DIR; $this->cacheManager->writeFile($filepath . $filename, $content, 'a'); - } elseif ($target=='ARRAY' && isset($targetOptions['var']) && is_array($targetOptions['var'])) { + } elseif ( + $target === 'ARRAY' && + isset($targetOptions['var']) && + (is_array($targetOptions['var']) || $targetOptions['var'] instanceof \ArrayAccess) + ) { $targetOptions['var'][] = $content; - } elseif ($target=='ARRAY_EXTENDED' && isset($targetOptions['var']) && is_array($targetOptions['var'])) { + } elseif ( + $target === 'ARRAY_EXTENDED' && + isset($targetOptions['var']) && + (is_array($targetOptions['var']) || $targetOptions['var'] instanceof \ArrayAccess) + ) { $targetOptions['var'][] = array( 'content' => $content, 'level' => $this->_getLogLevel($level),