这里是我想解决的商业店铺的情景:定制看门狗记录
在网站管理员日志,用户创建订单,创建支付和/或订单的用户适用学分。
看门狗记录所有这些,但是作为管理员用户,当我们需要它作为客户用户时,采取行动(这样我们就可以在该人员上列出系统针对他们的账户所做的所有操作或订单)。
我看到看门狗有:
function watchdog($type, $message, $variables = array(), $severity = WATCHDOG_NOTICE, $link = NULL) {
global $user, $base_root;
// Prepare the fields to be logged
$log_message = array(
'type' => $type,
'message' => $message,
'variables' => $variables,
'severity' => $severity,
'link' => $link,
'user' => $user,
'request_uri' => $base_root . request_uri(),
'referer' => referer_uri(),
'ip' => ip_address(),
'timestamp' => time(),
);
// Call the logging hooks to log/process the message
foreach (module_implements('watchdog') as $module) {
module_invoke($module, 'watchdog', $log_message);
}
}
有没有办法覆盖全球$用户没有黑客的核心功能,而无需复制呢?
我可以以某种方式将$ user作为变量传递吗?我可以在watchdog()之前调用$ user = user_load($ customer-> uid)来诱骗它记录该用户吗?我希望记录的UID不是0或1,如果我可以帮助它的话,因为每个用户配置文件(账户,账单,订单等)跟踪系统某些方面的日志非常困难。
嘿,我喜欢这样的解决方案。 – ceejayoz 2010-11-02 22:26:20