跳轉到內容

Zoph/解決問題/除錯

來自華夏公益教科書,開放的書籍,開放的世界

如果出現問題並且 Zoph 的常規錯誤報告沒有提供足夠的資訊來解決問題,則可以啟用除錯。除錯透過 config.inc.php 中的 3 個不同選項控制。

這將允許進行細粒度除錯。這種除錯機制將使您可以控制哪些訊息顯示,哪些訊息不顯示。由於日誌將在 Zoph 處理頁面時生成,因此除錯訊息將在整個頁面上顯示。這有時會導致 Javascript、XML 或重定向停止工作,但是,它也使找出問題發生的位置變得更容易。

日誌主題

[編輯 | 編輯原始碼]

每個日誌訊息都已分類到一個主題中

訊息主題
log::ALL 所有訊息
log::VARS 有關設定變數的訊息
log::LANG 有關 Zoph 翻譯的訊息
log::LOGIN 有關登入過程的訊息
log::REDIRECT 有關重定向的訊息
log::DB 有關資料庫連線的訊息
log::SQL 有關 SQL 查詢的訊息
log::XML 有關 XML 建立的訊息
log::IMG 有關影像建立的訊息
log::IMPORT 有關匯入功能的訊息
log::GENERAL 其他訊息
log::NONE 沒有訊息。

日誌嚴重性

[編輯 | 編輯原始碼]

每個訊息都得到了一個嚴重性指示,表示情況的“嚴重程度”。

嚴重性指示
log::DEBUG 除錯訊息,Zoph 提供有關其操作的資訊。
log::NOTIFY 有關正在發生的事情的通知,這些事情會影響 Zoph 的程式流程
log::WARN 有關正在發生的事情的警告
log::ERROR 錯誤狀況,出現了一些問題,但 Zoph 可以恢復
log::FATAL 致命錯誤,出現了一些問題,Zoph 需要停止當前指令碼的執行。
log::NONE 不顯示任何訊息

如前所述,已向config.inc.php.

LOG_ALWAYS

添加了 3 個新的配置選項

[編輯 | 編輯原始碼]

此設定配置始終顯示的日誌級別,無論訊息位於哪個主題中。預設情況下,此設定為 log::FATAL,這意味著顯示所有嚴重性為 FATAL 或更糟 的訊息。由於 log::FATAL 是最糟糕的訊息型別,因此只會顯示 log::FATAL 訊息。如果將其設定為 log::WARN,則將顯示嚴重性為 WARN 或更糟 的所有訊息,因此將顯示所有 FATALERRORWARN 訊息。已新增一個特殊的嚴重性級別來抑制所有訊息:log::NONE

示例
define('LOG_ALWAYS', log::ERROR);

[編輯 | 編輯原始碼]

define('LOG_ALWAYS', log::NOTIFY);

將顯示所有指示錯誤或致命錯誤的訊息。

define('LOG_ALWAYS', log::DEBUG);

將顯示所有訊息,除了除錯級別的訊息。

LOG_SEVERITY

將顯示所有訊息。

[編輯 | 編輯原始碼]

此設定配置始終顯示的日誌級別,無論訊息位於哪個主題中。預設情況下,此設定為 log::FATAL,這意味著顯示所有嚴重性為 FATAL 或更糟 的訊息。由於 log::FATAL 是最糟糕的訊息型別,因此只會顯示 log::FATAL 訊息。如果將其設定為 log::WARN,則將顯示嚴重性為 WARN 或更糟 的所有訊息,因此將顯示所有 FATALERRORWARN 訊息。已新增一個特殊的嚴重性級別來抑制所有訊息:log::NONE

此設定的工作方式與前一個設定相同,只是只會顯示特定嚴重性的訊息;它與 LOG_SUBJECT 結合使用來實現此目的。
define('LOG_SEVERITY', log::ERROR);
define('LOG_SUBJECT', log::LANG);

[編輯 | 編輯原始碼]

define('LOG_SEVERITY', log::NOTIFY);
define('LOG_SUBJECT', log::DB);

將顯示所有指示錯誤或致命錯誤的有關 Zoph 翻譯的訊息。

define('LOG_SEVERITY', log::DEBUG);
define('LOG_SUBJECT', log::SQL);

將顯示所有訊息,除了除錯級別的訊息,以及有關資料庫連線的訊息。

LOG_SUBJECT

將顯示所有有關 SQL 查詢的訊息。(由於 SQL 查詢本身被視為除錯資訊,因此您需要此設定才能顯示它們。)

[編輯 | 編輯原始碼]

使用此設定,您可以控制要檢視哪些主題的訊息。有一個特殊的主題可以顯示所有訊息:log::ALL|您也可以使用~() 符號和

此設定配置始終顯示的日誌級別,無論訊息位於哪個主題中。預設情況下,此設定為 log::FATAL,這意味著顯示所有嚴重性為 FATAL 或更糟 的訊息。由於 log::FATAL 是最糟糕的訊息型別,因此只會顯示 log::FATAL 訊息。如果將其設定為 log::WARN,則將顯示嚴重性為 WARN 或更糟 的所有訊息,因此將顯示所有 FATALERRORWARN 訊息。已新增一個特殊的嚴重性級別來抑制所有訊息:log::NONE

() 符號組合多個主題。
define('LOG_SEVERITY', log::ERROR);
define('LOG_SUBJECT', log::LANG | log::IMG);

[編輯 | 編輯原始碼]

define('LOG_SEVERITY', log::NOTIFY);
define('LOG_SUBJECT', log::ALL | ~log::SQL);

將顯示所有指示錯誤或致命錯誤的有關 Zoph 翻譯或影像的訊息。

define('LOG_SEVERITY', log::DEBUG);
define('LOG_SUBJECT', log::ALL ~(log::REDIRECT | log::DB));

將顯示所有訊息,除了除錯級別的訊息,以及有關 SQL 查詢的那些訊息。

華夏公益教科書