2013-02-04 116 views
0

是否有記錄的文件名/類名/功能和/或行號,其中$this->log叫呢?記錄當前文件名

$this->logCakeLog::write()的文檔中我找不到這一點。

回答

5

是的,你可以使用這個默認的PHP常量。例如:

CakeLog::write('debug', 'Oops, something went wrong in ' . 
    __FILE__ . ' on line' . __LINE__ . ' within the class ' . get_class() 
); 

這應該會給你所有你需要的信息。

+0

感謝。將上述語法借用到$ this-> log格式。 $ this-> log('Oops,'.__ FILE__。'on line'中出錯了。__LINE__。'在類中。'get_class(),'debug'); –

+0

@Joe史密斯你也可以寫爲這個新的功能及使用方法['debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS)'](http://php.net/manual/en/function.debug-backtrace.php)。當你有很多'__FILE__' /'__LINE__'消息要記錄時,這可能很有用。 – Jelmer

0

或者更方便,只要登錄跟蹤:

$e = new Exception; $this->log($e->getTraceAsString()); 

將記錄您的文件&行號,導致特定的日誌()語句調用。