因为v2.11:这里描述的API是在Matomo(以前的Piwik) 2.11中引入的,不适用于以前的版本。
日志记录是记录在Matomo运行时发生的事件的操作。其目的是:
为了记录消息,Matomo使用标准化的Psr \ \ LoggerInterface日志
(PSR-3标准).这个PHP标准允许Matomo开发人员使用标准接口,从而可以在两者之间进行切换任何兼容PHP日志。
Matomo选择的PSR-3实现是独白.独白是一个强大的和非常可定制的记录器使用的Symfony, Silex, Laravel…
要记录消息,需要获取记录器的一个实例。为此,您可以通过注入来使用依赖项注入Psr \ \ LoggerInterface日志
:
私人美元记录器;公共函数__construct(\Psr\Log\LoggerInterface $logger) {$this->logger = $logger;}公共函数myMethod() {$this->记录器->信息('这是一个信息');}
然后,您可以使用任何严重级别记录消息:
$this->记录器->错误('这是一个错误');$this->记录器->警告('这是一个警告');$this->logger->notice('这是一个通知');$this->记录器->信息('这是一个信息');$this->记录器->调试('这是一个调试消息');
根据用户在其日志中配置的日志级别,将记录或不记录每条消息config.php.ini
.开发人员不应该根据当前的日志级别有条件地进行日志记录:他们应该简单地进行日志记录,然后让系统自行处理。
如果错误消息是动态构造的字符串,则应该这样做不这样记录:
$logger->info('配置选项'。美元的名字。“有一个无效的值”。美元价值);
相反,您应该使用标准化的日志格式(在PSR-3标准):
$logger->info('配置选项{name}有一个无效的值{value}', array('name' => $name, 'value' => $value,));
在将日志写入后端(例如文件,数据库,…)之前,占位符将被实际值替换:
INFO[2014-12-14 21:49:06]配置选项foo有一个无效的值栏
如果发生异常,您有两个选择:
如果发生异常,应该停止所有操作并显示错误页面,则不应该捕获异常。让它冒泡,Matomo将捕获它并将异常消息显示给用户。
如果发生异常,但当前操作不应中断,则应该捕获异常。如果异常是预期的情况,您可能不应该记录它。您应该只在用户应该注意到的意外情况下才记录它。
一般规则是:您应该只记录对用户有用的信息(用于调试问题或预测潜在的问题)。
如果您想记录异常,您应该遵循PSR-3的标准通过使用异常
输入参数数组:
try {$httpClient->post('https://example.com/_abc_123', $data);} catch (RequestException $e) {$logger->错误('无法备份数据,稍后再试',array('exception' => $e));}
在这个例子中,我们log到错误
级别,但我们捕获了异常:当前进程将不会中止。
要查看日志,建议使用我们的LogViewer插件:浏览如何查看Matomo应用程序日志?