/** * Test writing log files with custom levels * * @return void */ public function testCustomLevelWrites() { $this->_deleteLogs(); $this->_resetLogConfig(); CakeLog::levels(array('spam', 'eggs')); $testMessage = 'error message'; CakeLog::write('error', $testMessage); CakeLog::defaultLevels(); $this->assertTrue(file_exists(LOGS . 'error.log')); $contents = file_get_contents(LOGS . 'error.log'); $this->assertContains('Error: ' . $testMessage, $contents); CakeLog::config('spam', array('engine' => 'File', 'file' => 'spam.log', 'types' => 'spam')); CakeLog::config('eggs', array('engine' => 'File', 'file' => 'eggs.log', 'types' => array('spam', 'eggs'))); $testMessage = 'spam message'; CakeLog::write('spam', $testMessage); CakeLog::defaultLevels(); $this->assertTrue(file_exists(LOGS . 'spam.log')); $this->assertTrue(file_exists(LOGS . 'eggs.log')); $contents = file_get_contents(LOGS . 'spam.log'); $this->assertContains('Spam: ' . $testMessage, $contents); $testMessage = 'egg message'; CakeLog::write('eggs', $testMessage); CakeLog::defaultLevels(); $contents = file_get_contents(LOGS . 'spam.log'); $this->assertNotContains('Eggs: ' . $testMessage, $contents); $contents = file_get_contents(LOGS . 'eggs.log'); $this->assertContains('Eggs: ' . $testMessage, $contents); CakeLog::drop('spam'); CakeLog::drop('eggs'); $this->_deleteLogs(); }