Drupal 7 开发内部培训资料, 分头诗人

watchdog() 函数, 为 Drupal 提供了一个日志机制

猪跑啦独家原创专稿,欢迎您转载本文,转载请注明来源。
标签: watchdog

watchdog() 函数是Drupal的核心函数,它为 Drupal 提供了一个日志机制,收集所有必要的日志信息或事件。
在admin/reports/dblog中,就是Recent log messages 中,可以查看这个日志。

函数用法

watchdog($type, $message, $variables = array(), $severity = WATCHDOG_NOTICE, $link = NULL)

    $type,是日志分类。一般,使用模块名作为日志分类,便于查找某个模块的错误信息。
    $message, 将储存信息在日志中。如果是变量应该用占位符来添加。
    $variables,是与$message的关联数组。
    $severity ,常量,表明消息的优先级,就是消息的重要性。
    $link,可选的第五个参数,允许你传入一个相关的URL。日志后端可能使用它生成嵌入日志消息的链接。

$severity中有8个不同的常量可以传入这个函数:

  • WATCHDOG_EMERGENCY: Emergency, system is unusable.
  • WATCHDOG_ALERT: Alert, action must be taken immediately.
  • WATCHDOG_CRITICAL: Critical conditions.
  • WATCHDOG_ERROR: Error conditions.
  • WATCHDOG_WARNING: Warning conditions.
  • WATCHDOG_NOTICE: (default) Normal but significant conditions.
  • WATCHDOG_INFO: Informational messages.
  • WATCHDOG_DEBUG: Debug-level messages.

例如:smtp模块中的两处watchdog语句,分别用到了前三个和前四个参数:

watchdog('smtp', 'Sending mail to: @to', array('@to' => $to));

watchdog('smtp', 'Error sending e-mail from @from to @to : !error_message', array('@from' => $from, '@to' => $to, '!error_message' => $mailer->ErrorInfo), WATCHDOG_ERROR)