diff --git a/tests/_support/Log/Handlers/MockChromeHandler.php b/tests/_support/Log/Handlers/MockChromeHandler.php index 52c072514d..7164e324c1 100644 --- a/tests/_support/Log/Handlers/MockChromeHandler.php +++ b/tests/_support/Log/Handlers/MockChromeHandler.php @@ -5,7 +5,7 @@ * * Extends ChromeLoggerHandler, exposing some inner workings */ -class MockChromeHandler extends ChromeLoggerHandler +class MockChromeHandler extends \CodeIgniter\Log\Handlers\ChromeLoggerHandler { //-------------------------------------------------------------------- diff --git a/tests/_support/Log/Handlers/MockFileHandler.php b/tests/_support/Log/Handlers/MockFileHandler.php index d799b73910..b674d175e7 100644 --- a/tests/_support/Log/Handlers/MockFileHandler.php +++ b/tests/_support/Log/Handlers/MockFileHandler.php @@ -1,11 +1,12 @@ handlers['CodeIgniter\Log\Handlers\TestHandler']['handles'] = ['critical']; + $config->handlers['Tests\Support\Log\Handlers\TestHandler']['handles'] = ['critical']; - $logger = new FileHandler($config->handlers['CodeIgniter\Log\Handlers\TestHandler']); + $logger = new FileHandler($config->handlers['Tests\Support\Log\Handlers\TestHandler']); $logger->setDateFormat("Y-m-d H:i:s:u"); $this->assertTrue($logger->handle("warning", "This is a test log")); } @@ -31,9 +32,8 @@ class FileHandlerTest extends \CIUnitTestCase { $config = new LoggerConfig(); $config->path = $this->start . 'charlie/'; - $config->handlers['CodeIgniter\Log\Handlers\TestHandler']['handles'] = ['critical']; - $logger = new TestHandler($config->handlers['CodeIgniter\Log\Handlers\TestHandler']); -// $logger = new FileHandler($config->handlers['CodeIgniter\Log\Handlers\TestHandler']); + $config->handlers['Tests\Support\Log\Handlers\TestHandler']['handles'] = ['critical']; + $logger = new TestHandler($config->handlers['Tests\Support\Log\Handlers\TestHandler']); $logger->setDateFormat("Y-m-d H:i:s:u"); $this->assertTrue($logger->handle("warning", "This is a test log")); } diff --git a/tests/system/Log/LoggerTest.php b/tests/system/Log/LoggerTest.php index ace594f58f..da8de297fa 100644 --- a/tests/system/Log/LoggerTest.php +++ b/tests/system/Log/LoggerTest.php @@ -218,6 +218,29 @@ class LoggerTest extends \CIUnitTestCase //-------------------------------------------------------------------- + public function testLogInterpolatesExceptions() + { + $config = new LoggerConfig(); + $logger = new Logger($config); + + $expected = 'ERROR - ' . date('Y-m-d') . ' --> [ERROR] These are not the droids you are looking for'; + + try + { + throw new Exception('These are not the droids you are looking for'); + } catch (\Exception $e) + { + $logger->log('error', '[ERROR] {exception}', ['exception' => $e]); + } + + $logs = TestHandler::getLogs(); + + $this->assertCount(1, $logs); + $this->assertTrue(strpos($logs[0], $expected) === 0); + } + + //-------------------------------------------------------------------- + public function testEmergencyLogsCorrectly() { $config = new LoggerConfig(); @@ -376,7 +399,7 @@ class LoggerTest extends \CIUnitTestCase $config = new LoggerConfig(); $logger = new Logger($config); - $expected = '[CodeIgniter\Log\Handlers\TestHandler]'; + $expected = '[Tests\Support\Log\Handlers\TestHandler]'; $logger->log(5, $config); $logs = TestHandler::getLogs(); @@ -390,7 +413,7 @@ class LoggerTest extends \CIUnitTestCase public function testFilenameCleaning() { $config = new LoggerConfig(); - $logger = new \CodeIgniter\Log\TestLogger($config); + $logger = new \Tests\Support\Log\TestLogger($config); $ohoh = APPPATH . 'LoggerTest'; $expected = 'APPPATH/LoggerTest'; diff --git a/user_guide_src/source/general/logging.rst b/user_guide_src/source/general/logging.rst index 1faf14e053..0cdf55e7dd 100644 --- a/user_guide_src/source/general/logging.rst +++ b/user_guide_src/source/general/logging.rst @@ -105,7 +105,7 @@ file name and line number. You must still provide the exception placeholder in { ... Something throws error here } - catch (\Exception #e) + catch (\Exception $e) { log_message('error', '[ERROR] {exception}', ['exception' => $e]); }