Протоколирование позволяет вам понимать что происходит в вашем приложении с течением времени. Какие слова используются в поиске? Какие ошибки показываются пользователям? Как часто выполняется тот или иной запрос?
Протоколирование в CakePHP устроено очень просто. Функция log() является методом класса Object, который является родителем почти для всех классов приложения. Если вы находитесь в окружении любого класса CakePHP (Model, Controller, Component... почти любого), вы можете протоколировать данные.
//Выполняется внутри класса CakePHP:$this->log("Что-то не работает!");
//Результат запишется в файл app/tmp/logs/error.log
2007-11-02 10:22:02 Error: Что-то не работает!
Второй параметр используется для того чтобы определить тип сообщения, которое вы пишете в лог. Если не указывается, то, по умолчанию, принимает значение LOG_ERROR, и сообщение попадает в лог ошибок, как в прошлом примере. Вы можете указать значение LOG_DEBUG, тогда сообщение запишется в файл app/tmp/logs/debug.log.
//Выполняется внутри класса CakePHP:$this->log('Отладочное сообщение.', LOG_DEBUG);
//Результат запишется в файл app/tmp/logs/debug.log (а не в error.log)
2007-11-02 10:22:02 Error: Отладочное сообщение.
Замечание: директория app/tmp должна быть доступной для записи веб-сервера чтобы протоколирование работало корректно.