2014-03-24 43 views
0

我使用記錄的變量值代入的debug.log:中的debug.log CakePHP的沒有堆棧跟蹤

$var = 'Hello World'; 
debugger::log($var); 

/app/tmp/logs/debug.log有該日誌整個堆棧跟蹤:

2014-03-24 20:47:42 Debug: 
UserController::create() - APP\Controller\UserController.php, line 21 
ReflectionMethod::invokeArgs() - [internal], line ?? 
Controller::invokeAction() - CORE\Cake\Controller\Controller.php, line 490 
Dispatcher::_invoke() - CORE\Cake\Routing\Dispatcher.php, line 185 
Dispatcher::dispatch() - CORE\Cake\Routing\Dispatcher.php, line 160 
[main] - APP\webroot\index.php, line 108 
'Hello World' 

我don' t需要stacktrace,只需要我的變量的值。

+0

我認爲你正在使用的蛋糕調試器插件..你試過只是這個 - $>日誌($ VAR ); –

+0

@Anand Ghaywankar聲明'$ this-> log($ var);'登錄到error.log。我想登錄到debug.log。 – Simon

回答

1

解決的辦法之一是使用CakeLog ::寫功能

CakeLog::write(LOG_DEBUG, "your message"); 

你會得到的輸出文件的debug.log:

2014-07-21 16:08:25 Debug: 
your message 

這是不可能清除棧從調試器:: log($ var)跟蹤。爲什麼?下面是從Debugger.php它的CakePHP代碼:

public static function log($var, $level = LOG_DEBUG, $depth = 3) { 
    $source = self::trace(array('start' => 1)) . "\n"; 
    CakeLog::write($level, "\n" . $source . self::exportVar($var, $depth)); 
} 

或編輯CakePHP的來源:)