Я использую ведение журнала БД в Cake 2.1, и это прекрасно работает.
Проблема, с которой я сталкиваюсь, заключается в том, что при запуске модульных тестов все журналы по-прежнему отправляются в живую базу данных, а не в тестовую базу данных.
Все остальные взаимодействия с базой данных проходят проверку, кроме ведения журнала.
У меня есть приспособление журнала, созданное и импортированное в тестовый пример.
Вот мой регистратор базы данных (/Lib/Log/Engine/DatabaseLogger.php)
App::uses('CakeLogInterface', 'Log');
class DatabaseLogger implements CakeLogInterface
{
public function __construct($options = array() )
{
App::import('Model', 'Log');
$this->Log = new Log;
}
public function write($type, $message)
{
$this->Log->create();
$log['type'] = ucfirst($type);
$log['date'] = date('Y-m-d H:i:s');
$log['message'] = $message;
return $this->Log->save($log);
}
}
Я уверен, что мне не хватает какой-то базовой настройки, но я не могу понять это на всю жизнь.