問題所以我想做一個方法,允許即時記錄調試消息,並且我想包括消息發生的文件名和行號。我的第一個傾向是給debug_backtrace()作爲日誌方法的參數之一,它返回一個包含當前文件名和行號的數組。跟蹤文件和線的調試日誌記錄(PHP)
問題是,這隻給出了第一個文件(index.php)的文件和行。 index.php只是一個五行文件,它在一個包含文件中調用一個類的方法,所以行和文件信息總是說(index.php,第5行),不管它是什麼也沒用。
有沒有辦法獲得當前的行和文件,無論您在代碼中的哪個位置?
加成
這裏是文件和行信息:
[2011-01-23 6點26分10秒]的資料: 「請求不存在的 控制器做出(試驗)「,文件: 」/home/spotless/public_html/mymvc/index.php「, 行:5,請求: 」/測試「
ħ ERE是以其整體在index.php:
<?php
include_once('application/init.php');
lev_init::init();
?>
下面是使用debug_backtrace()日誌記錄呼叫時,文件的init.php內(線37):
// if requested controller does not exist, log
lev_logging::message('Request made for non-existant controller ('.$requested_controller.').', debug_backtrace());
第二更新
debug_backtrace
陣列(1){[0] =>數組(6){[「文件的的var_dump 「] => string(42) 」/home/spotless/public_html/mymvc/index.php「 [」line「] => int(5)[」function「] => string(4)」init 「[」class「] => string(8) 」lev_init「[」type「] => string(2)」::「 [」args「] => array(0){}}}
這不應該。回溯應該包含完整的信息。你知道這是一個數組嗎?你能舉一個例子回溯嗎? – 2011-01-24 00:22:28
@dqhendricks:你確定文檔顯示它顯示每個函數調用的當前行和文件.... – RageZ 2011-01-24 00:23:14