kusebauch / nette-new-relic-logger
Logger decorator to New Relic for Nette Framework and Tracy
Installs: 4 962
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
Requires
Requires (Dev)
This package is not auto-updated.
Last update: 2020-11-16 11:24:40 UTC
README
Logging application requests
Logs all requests to Nette application and records application exceptions other than 404s. But does not record errors in the code.
- with running only when your NewRelic is
- installed
- enabled
- configured with
Bootstrap::setup()
$application = new Application(); \Kusebauch\NetteNewRelicLogger\Bootstrap::addOnError(['\Kusebauch\NetteNewRelicLogger\Utils', onAppError], $application); \Kusebauch\NetteNewRelicLogger\Bootstrap::addOnRequest(['\Kusebauch\NetteNewRelicLogger\Utils', onAppRequest], $application);
- try to run anyway (will be problematic, if you don't have NewRelic agent installed)
$application = new Application(); $application->onError[] = ['\Kusebauch\NetteNewRelicLogger\Utils', onAppError]; $application->onRequest[] = ['\Kusebauch\NetteNewRelicLogger\Utils', onAppRequest];
Logging application errors
Create a decorator over the current Tracy logger. Your application will keep logging the same way as it was up until now, but on top it will log to New Relic.
$oldLogger = \Tracy\Debugger::getLogger(); $newLogger = new \Kusebauch\NetteNewRelicLogger\Bridges\Tracy\LoggerDecorator($oldLogger); $newLogger->excludeMessageFunc[] = ['\Kusebauch\NetteNewRelicLogger\Utils', 'noticeLoggerFilter']; $newLogger->excludeMessageFunc[] = ['\Kusebauch\NetteNewRelicLogger\Utils', 'strictLoggerFilter']; $newLogger->includeMessageFunc[] = function ($message, $priority) { return in_array($priority, [\Tracy\ILogger::CRITICAL, \Tracy\ILogger::ERROR, \Tracy\ILogger::EXCEPTION]); }; \Tracy\Debugger::setLogger($newLogger);