跳转到内容

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 查询的消息。

将显示所有消息,除了有关重定向或数据库连接的消息。
华夏公益教科书