Vlastní tracy logger Bugsnag
- Isigarek
- Člen | 74
Dobrý den,
chtěl jsem si do nette přidal integraci na posílání logů na službu
bugsnag.com implementace je jednoduchá, jen jsem narazil na to, kde chytat
výjimky a přitom nechat fungovat základní tracy. Podle dokumentace stačí
přidat implementaci ILogger a přidat ji do configu.
BugsnagLogger:
namespace App\Core\Assets\Bugsnag;
use Bugsnag\Client;
use Bugsnag\Handler;
use Tracy\ILogger;
class BugsnagLogger implements ILogger
{
private $bugsnag;
public function __construct($bugsnagKey)
{
$bugsnag = Client::make($bugsnagKey);
Handler::register($bugsnag);
$this->bugsnag = $bugsnag;
}
function log($value, $priority = self::INFO)
{
if($value instanceof \Exception){
$this->bugsnag->notifyException($value);
}else{
if($priority == self::CRITICAL OR $priority == self::ERROR or $priority == self::EXCEPTION)
$this->bugsnag->notifyError("Value",$value);
}
return;
}
}
A v config.neon
services:
- App\Core\Assets\Pager\Loaders\BusinessLoader
- App\Core\Assets\Pager\Loaders\MobileUsersLoader
- App\Core\Assets\Pager\Loaders\PersonsLoader
- App\Core\Assets\Pager\Loaders\EDealLoader
- App\Core\Assets\Pager\CacheResult
tracy.logger: App\Core\Assets\Bugsnag\BugsnagLogger(%bugsnagKey%)
router: App\RouterFactory::createRouter
Bugsnag key je v parametrech v config.local.neon ale v tom bych problém nehledal, protože bugsnag loguje jak má jediné, co přestalo fungovat je klasický blue screen, místo erroru mi to ukáže prázdnou stránku s tracy panelem, který neukazuje ani error.
Nevíte někdo co s tím?
- Václav Pávek
- Backer | 101
chemix napsal(a):
@Isigarek @VáclavPávek posilate si tam nejak i vygenerovanou html tracy? to asi neni realne co?
Tak daleko jsem to nedotáhl…