داکیومنت Yii برای Debug کردن خیلی خوبه که از اینجا می تونید بخونید. من خودم برای دیباگ کردن از دوتا راه استفاده می کنم
۱- راه حل قدیمی تر من :
'log'=>array( 'class'=>'CLogRouter', 'routes'=>array( array( 'class'=>'CFileLogRoute', 'levels'=>'error, warning', )))
CFileLogRoute رو load می کنم و الان دارم بهش می گم در error ها و warning هارو لاگ بگیر، لاگ ها به فایل protected/runtime/application.log اضافه میشه، من خودم با tailf آخرین تغییراتش رو می بینم.
tailf application.log
برای لاگ کردن هم از
Yii::log(CVarDumper::dumpAsString($obj), CLogger::LEVEL_ERROR);
استفاده می کنم.
۲- راه حلی که الان استفاده می کنم:
اولین بار phpconsole رو توی Zend دیدم، فریم ورکی که هیچوقت دوسش نداشتم و نخواهم داشت! الان برای دیباگ کردن از phpconsole استفاده می کنم، extensionش رو از اینجا روی کروم نصب کنید ، بعد extension اونو برای Yii از اینجا دانلود کنید.
با استفاده از phpconsole میشه به جای خوندن فایل application.log لاگ هارو داخل console کروم چاپ می کنه و بصورت notification هم نشون میده کاری که دقیقا انجام میده اضافه کردن PHP-Console به Header صفحه است.
Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Connection:close Content-Encoding:gzip Content-Length:1609 Content-Type:text/html Date:Thu, 05 Dec 2013 13:44:59 GMT Expires:Thu, 19 Nov 1981 08:52:00 GMT PHP-Console:{"protocol":5,"auth":null,"docRoot":"\/var\/www","sourcesBasePath":"\/var\/www","getBackData":null,"isLocal":false,"isSslOnlyMode":false,"isEvalEnabled":false,"messages":[{"type":"error","code":0,"class":"CHttpException","data":"The system is unable to find the requested action \"create2\".","file":"\/var\/www\/yii-1.1.14\/web\/CController.php","line":483,"trace":[{"file":"\/var\/www\/perads\/index.php","line":13,"call":"CApplication->run()"},{"file":"\/var\/www\/yii-1.1.14\/base\/CApplication.php","line":180,"call":"CWebApplication->processRequest()"},{"file":"\/var\/www\/yii-1.1.14\/web\/CWebApplication.php","line":141,"call":"CWebApplication->runController('ad\/campaign\/cr...')"},{"file":"\/var\/www\/yii-1.1.14\/web\/CWebApplication.php","line":282,"call":"CController->run('create2')"},{"file":"\/var\/www\/yii-1.1.14\/web\/CController.php","line":270,"call":"CController->missingAction('create2')"}]}]} Pragma:no-cache Server:Apache/2.2.22 (Debian) Vary:Accept-Encoding X-Powered-By:PHP/5.4.4-14+deb7u5
البته یکسری قابلت دیگه هم داره که می تونید از سایت http://phpconsole.com/ بخونید.