Sentry – jak implementovat

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
simPod
Člen | 383
+
0
-

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
+
0
-

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
+
+2
-

asi bych zvolil monolog, ktery ma raven handler. a integrace do nette pres kdyby/monolog

simPod
Člen | 383
+
0
-

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
+
+1
-

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;
    }

}