如何检查 Drupal 日志文件?
我正在使用 Ubuntu 10.10 + Apache2 + PHP 5.33 + MySQL 和 Drupal 7。
要查看 Drupal 自己的内部日志系统(
watchdog
数据库表)中的条目,请转至 http://example.com/admin/reports/dblog。这些错误可能包括 Drupal 特定的错误以及已引发的一般 PHP 或 MySQL 错误。
watchdog()
函数从您自己的自定义模块向此日志添加条目。
Drupal 引导时,它使用 PHP 函数
set_error_handler()
为 PHP 错误设置自己的错误处理程序。因此,每当 Drupal 中发生 PHP 错误时,都会通过 watchdog()
处的 admin/reports/dblog
调用进行记录。如果您在 /var/log/apache/error.log
中查找 PHP 致命错误,但没有看到它们,这就是原因。其他错误,例如Apache 错误,仍应记录在 /var/log
,或者您配置为记录的任何位置。
如果您喜欢命令行,您还可以使用 drush 和 watchdog show 命令来执行此操作:
drush ws
有关此命令的更多信息请参见此处:
确保 drush 已安装(您可能还需要确保 dblog 模块已启用)并使用:
drush watchdog-show --tail
在 drush v8 及更低版本中可用。
这将使您可以从控制台实时查看日志。
我们遇到了很多需要检查错误和错误日志以找出我们面临的问题的情况,我们可以通过以下方法进行检查:
1.) 在空白屏幕上 有时我们除了空白屏幕之外什么也没有,而不是我们的网站或所写的消息网站遇到了意外错误。请稍后重试,以便我们可以将错误打印到屏幕上 通过添加
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
在顶部的
index.php
。;
2.) 我们应该在 /admin/build/modules 启用可选的数据库日志记录核心模块,然后我们可以检查日志 your_domain_name/admin/reports/dblog
3.)我们也可以使用 drush 命令来检查日志 drush watchdog-show它会显示最近十条消息
或者如果我们想继续显示包含更多信息的日志,我们可以使用
drush 看门狗秀 --tail --full.
4.)我们还可以启用核心 Syslog 模块,该模块记录任何 Web 服务器操作系统的事件。
对于 drupal 9,您可以使用 drush 访问日志,这里有一些命令:
还有一件事,如果您不喜欢命令,请在“管理”菜单中,转到“报告”>“最近的日志消息”。此页面上是最近日志消息的列表,您可以按类型和严重性进行过滤。
但是如果你是专业人士,你可以配置 ELK,这将为你提供一切
我们也可以使用 drush 命令来检查日志
drush watchdog-show
它将显示最近 10 条消息。
或者如果我们想继续显示包含更多信息的日志,我们可以使用
drush watchdog-show --tail --full.
MAMP/logs/php_error.log
以上所有给定选项均不起作用,请转到 MAMP/日志/检查所有类似日志类型。
在 Drupal 中,您可以通过 Drupal 管理界面或直接访问服务器文件来检查日志文件。以下是每种方法的步骤:
通过 Drupal 管理界面:
以管理员身份登录您的 Drupal 站点。 转至报告 > 最近的日志消息。 这将向您显示最近日志条目的列表,按严重性级别和类型进行过滤。
通过访问服务器文件:
通过 FTP 或 SFTP 连接到您的服务器。 找到您的 Drupal 安装目录。 查找“logs”目录或服务器级别/var/log。 打开您要查看的日志文件。
注意:日志文件的位置可能会有所不同,具体取决于您的 Drupal 安装和服务器配置。您可能需要咨询您的托管提供商或服务器管理员以获取查找日志的帮助。
您还可以为 Apache 中的每个 VirtualHost 定义特定的错误日志文件。如果您在 /etc/apache2/sites-available/ 中定义了任何 VirtualHost 并在 /etc/apache2/sites-enabled 中启用(使用 sudo a2ensite [your-virtualhost-definition-file] 启用),您可以通过以下方式更改错误日志在 VirtualHost 配置中添加以下行:
错误日志 ${APACHE_LOG_DIR}/[your-vhost]-error.log
如果您有很多虚拟主机并且想要拆分它们报告错误的位置,这可能会很有用。
此外,您可以通过发出以下命令实时查看错误日志(如果与默认值不同,请适应您自己的日志文件):
sudo tail -f /var/log/apache2/error.log
这在进行实时调试时特别有用。