zen of coding

Easy CakePHP logging to FireBug with DebugKit and FirePHP

CakePHP 2.x

This is espeically useful when you are working with ajax or just in general you don’t want to dump the data to the screen, which is often hard to read.

Using FireBug and FirePHP and CakePHP is pretty nicely detailed here.

Presuming all of that is working well, let’s see how to implement something nice and simple for our app.

First, let’s add a custom function to app/Config/bootstrap.php

[cc lang=”php”]
* https://cakephp.lighthouseapp.com/projects/42880/docs-firecake
* @param mixed $data data to log
* @param string $logLevel log, info, warn, error
* @param string $label give your data some label
function fclog($data, $logLevel = ‘log’, $label = null) {
if (Configure::read() > 0) {
App::uses(‘FireCake’, ‘DebugKit.Lib’);
FireCake::$logLevel($data, $label);

Now we can use it anywhere in our app like so:

[cc lang=”php”]
$myData = $this->SomeModel->find(‘all’);
fclog($myData, ‘error’, ‘Oh no we have a lot of data!’);

The second argument (in this case “error”) has to correspond to one of the logging methods (log, info, warn, error).

If all goes well, You should see a nicely formatted array of data in your firebug console.

%d bloggers like this: