public function onStartup(Application $app) { if (!extension_loaded('newrelic')) { return; } $oldLogger = Debugger::getLogger(); $logger = new Logger($oldLogger->directory, $oldLogger->email); $logger->emailSnooze = $oldLogger->emailSnooze; $logger->mailer = $oldLogger->mailer; Debugger::setLogger($logger); }
/** * @return Logger */ public static function getLogger() { if (!static::$logger) { static::$logger = new Logger(static::$logDirectory, static::$email, static::getBlueScreen()); static::$logger->directory =& Tracy\Debugger::$logDirectory; // back compatiblity static::$logger->email =& Tracy\Debugger::$email; Tracy\Debugger::setLogger(static::$logger); } return Tracy\Debugger::getLogger(); }
/** * Register logger to \Tracy\Debugger * @param array $config */ public static function register($config) { if ($config['send_errors']) { unset($config['send_errors']); $logger = new self(TDebugger::$logDirectory); $logger->email =& TDebugger::$email; TDebugger::setLogger($logger); \Errbit::instance()->configure($config); // ->start(); } }
/** * @param string[]|array|NULL $logLevel (null for default - error and critical) * @param string|NULL $appName * @param string|NULL $license */ public static function init(array $logLevel = NULL, $appName = NULL, $license = NULL) { static::check(); if (!static::isEnabled()) { return; } if ($appName === NULL) { $appName = 'PHP Application'; } static::setup($appName, $license); if ($logLevel === NULL) { $logLevel = [\Tracy\Logger::CRITICAL, \Tracy\Logger::EXCEPTION, \Tracy\Logger::ERROR]; } $logger = new Logger($logLevel); \Tracy\Debugger::setLogger($logger); }
/** * @param Nette\Application\Application $app */ public function onStartup(Nette\Application\Application $app) { Consumerr::setUrl(Tracy\Debugger::$source); Consumerr::addExtension(NetteConsumerr::EXTENSION_NAME, NetteConsumerr::VERSION_CODE); if (class_exists('Nette\\Framework')) { Consumerr::addLibrary('nette-framework', Nette\Framework::VERSION_ID); } if (class_exists('Tracy\\Debugger') && property_exists('Tracy\\Debugger', 'version')) { $version = str_replace('-dev', ".99", Tracy\Debugger::$version); $version = explode(".", $version); Consumerr::addLibrary('tracy', $version[0] * 10000 + $version[1] * 100 + $version[2]); } $logger = $this->createLogger(); if (method_exists('Tracy\\Debugger', 'getLogger')) { Tracy\Debugger::setLogger($logger); Tracy\Debugger::getLogger()->directory =& Tracy\Debugger::$logDirectory; Tracy\Debugger::getLogger()->email =& Tracy\Debugger::$email; } else { Tracy\Debugger::$logger = $logger; Tracy\Debugger::$logger->directory =& Tracy\Debugger::$logDirectory; Tracy\Debugger::$logger->email =& Tracy\Debugger::$email; } }
public function initialize() { date_default_timezone_set('Europe/Prague'); Nette\Bridges\Framework\TracyBridge::initialize(); $this->getService('events.manager')->createEvent(array('Nette\\DI\\Container', 'onInitialize'))->dispatch($this); Tracy\Debugger::$email = '*****@*****.**'; Tracy\Debugger::$editor = 'sublime'; Tracy\Debugger::$browser = 'chromium-browser'; Tracy\Debugger::$strictMode = TRUE; Nette\Caching\Storages\FileStorage::$useDirectories = TRUE; $this->getByType("Nette\\Http\\Session")->exists() && $this->getByType("Nette\\Http\\Session")->start(); header('X-Frame-Options: SAMEORIGIN'); $this->getService('systemModule.initializer'); $this->getService('usersModule.initializer'); $this->getService('securityModule.initializer'); header('X-Powered-By: Nette Framework'); header('Content-Type: text/html; charset=utf-8'); Nette\Utils\SafeStream::register(); Nette\Reflection\AnnotationsParser::setCacheStorage($this->getByType("Nette\\Caching\\IStorage")); Nette\Reflection\AnnotationsParser::$autoRefresh = FALSE; Doctrine\Common\Annotations\AnnotationRegistry::registerLoader("class_exists"); Kdyby\Doctrine\Diagnostics\Panel::registerBluescreen($this); Kdyby\Doctrine\Proxy\ProxyAutoloader::create('/home/fuca/Projects/www/sportsclub/tests/tmp/proxies', 'Kdyby\\GeneratedProxy')->register(); Nette\Diagnostics\Debugger::getBlueScreen()->collapsePaths[] = '/home/fuca/Projects/www/sportsclub/vendor/kdyby/doctrine/src/Kdyby/Doctrine'; Nette\Diagnostics\Debugger::getBlueScreen()->collapsePaths[] = '/home/fuca/Projects/www/sportsclub/vendor/doctrine'; Nette\Diagnostics\Debugger::getBlueScreen()->collapsePaths[] = '/home/fuca/Projects/www/sportsclub/tests/tmp/proxies'; Kdyby\Translation\Diagnostics\Panel::registerBluescreen(); \Tracy\Debugger::setLogger($this->getService('monolog.adapter')); }
<?php require __DIR__ . '/../vendor/autoload.php'; $configurator = new Nette\Configurator(); $configurator->setTempDirectory(getenv("MONDA_TMP")); $configurator->createRobotLoader()->addDirectory(__DIR__)->addDirectory(__DIR__ . '/../vendor/others')->register(); $configurator->addConfig(__DIR__ . '/config/config.neon'); $container = $configurator->createContainer(); use Tracy\Debugger; if (!getenv("MONDA_CLI")) { Debugger::enable(array('127.0.0.1'), __DIR__ . "/../log/"); } else { Debugger::enable(Debugger::DETECT, __DIR__ . "/../log/"); Debugger::$productionMode = false; Debugger::setLogger(new \App\Model\CliLogger()); } return $container;
/** * SentryLogger constructor. * @param $dsn * @param bool $inDebug * @param null $directory * @param null $email * @param bool $autoWire * @param array $options */ public function __construct($dsn, $inDebug = false, $directory = null, $email = null, $autoWire = true, $options = []) { // Compability with nette 2.2.0, Tracy\Logger has no __construct in 2.2.0 if ((new \ReflectionClass('Tracy\\Logger'))->getConstructor()) { parent::__construct($directory, $email, Debugger::getBlueScreen()); } //Check for production mode, you will want to fllod sentry only in production... right ? $this->enabled = Debugger::$productionMode || $inDebug; $this->raven = new \Raven_Client($dsn, $options); if ($autoWire) { //Add sentryNetteLogger to tracy $that = $this; Debugger::$onFatalError[] = function ($e) use($that) { $that->onFatalError($e); }; // Add logger to tracy Debugger::setLogger($this); } }