一、捕捉错误
Monolog支持Sentry开箱即用,因此您只需配置一个处理程序:
$client = new Raven_Client('https://<key>@sentry.io/<project>');
$handler = new Monolog\Handler\RavenHandler($client);
$handler->setFormatter(new Monolog\Formatter\LineFormatter("%message% %context% %extra%\n"));
$monolog->pushHandler($handler);
二、添加上下文
捕获上下文可以通过monolog处理器完成:
$monolog->pushProcessor(function ($record) {
// record the current user
$user = Acme::getCurrentUser();
$record['context']['user'] = array(
'name' => $user->getName(),
'username' => $user->getUsername(),
'email' => $user->getEmail(),
);
// Add various tags
$record['context']['tags'] = array('key' => 'value');
// Add various generic context
$record['extra']['key'] = 'value';
return $record;
});
三、面包屑
Sentry提供了一个面包屑处理程序,可以像碎屑一样自动发送日志:
$client = new Raven_Client('https://<key>@sentry.io/<project>');
$handler = new \Raven_Breadcrumbs_MonologHandler($client);
$monolog->pushHandler($handler);