示例#1
0
 /**
  * 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();
 }