我怎么能检查drupal日志

时间:2016-06-15 06:22:41

标签: php drupal mailing

问题是我网站上的邮件没有用。 有发送邮件的代码

....

$params['subject'] = $mail_subject;
    $params['body'] = $mail_body;
    $to = 'dmitriikotow@gmail.com'
    $from = 'mail@ckeverest.ru';
    $lang = language_default();

drupal_mail('everest_mail', 'html_mail', $to, $lang, $params, $from, false);

....

有自定义邮件模块代码

<?php

class EverestMailSystem extends DefaultMailSystem {
  public function format(array $message) {
    $message['body'] = implode("\n\n", $message['body']);
    $message['body'] = drupal_wrap_mail($message['body']);
    return $message;
  }
}

function everest_mail_mail($key, &$message, $params) {
  switch ($key) {
    case 'html_mail':
      $message['headers']['Content-Type'] = 'text/html; charset=UTF-8;';
      $message['subject'] = $params['subject'];
      $message['body'][] = $params['body'];
      break;
  }
}

?>
乍一看,一切都应该有效。怀疑问题是在模块之外,因为发送消息直到最后一次更新网站的外观(我没有参与更新)。由于该模块不是由我编写的,所以我需要一个比我更有经验的程序员的意见。

无论如何,我想知道。我在哪里可以找到有用的日志网站?并帮助他们抓错了?

非常感谢你。

1 个答案:

答案 0 :(得分:0)

Drupal使用一个名为watchdog的模块来处理日志记录(D8及更早版本)。有几种方法可以访问这些日志:

  • 如果您使用的是Drush,只需键入drush ws即可查看最新的10(ish)日志条目列表。 (专业提示:每个日志条目都有一个id,如果你输入drush ws [ID],你可以看到更多细节)
  • Drupal附带一个名为“Database logs”或“DB Logs”的模块。如果启用此模块,您将在“报告”菜单项下获得“查看最近的日志消息”页面。除非作为绝对的最后手段,否则请勿在生产站点上启用此模块。
  • 我99%确定Drupal的监视程序日志通过管道传输到系统日志中,因此您也应该能够将它们放入系统日志中。在OSX(ahem)MacOS中,您可以使用控制台应用程序查看日志,或者只需在命令行上使用tail来拖尾系统日志

希望有所帮助