Sentry – jak implementovat
- simPod
- Člen | 383
Zdravím, používáte někdo v Nette Sentry? Jak ho správně implementovat? Našel jsem tohle https://github.com/…/raven-nette, ale nejsem si jist, jestli je to správná cesta. Díky
- newPOPE
- Člen | 648
Ahoj, ten balik v podstate zapnes a funguje. Trochu je problem ze sentry ma pevne definovane (levely ako notice, info, alert…, nenasiel som ako nastavit custom) tym padom ked napises nieco ako:
Debugger::log('foo', 'foo');
Tak sa to v Sentry zobrazi ako error. Este moze byt mensi problem konfiguracia (rozne DSN pre rozne run levely appky ako PRODUCTION, STAGING, DEV…)
- David Matějka
- Moderator | 6445
asi bych zvolil monolog, ktery ma raven handler. a integrace do nette pres kdyby/monolog
- simPod
- Člen | 383
ten monolog se mi libi vic, diky
tusis, jak se s tim da pouzit toto? jde o pridani kontextu k logu
$monolog->pushProcessor(function ($record) {
// record the current user
$user = Acme::getCurrentUser();
$record['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;
});
- simPod
- Člen | 383
Tak kdyby to někoho zajímalo: Šel jsem přes Monolog, přidal ravenhandler a ten context přidávám přes processor:
monolog:
name: web
processors:
sentry_context:
class: MyNS\Logger\Monolog\SentryContextProcessor
<?php
namespace MyNS\Logger\Monolog;
use Nette\Object;
class SentryContextProcessor extends Object
{
public function __invoke(array $record)
{
//logic here
return $record;
}
}