diff --git a/src/Monolog/Handler/NewRelicHandler.php b/src/Monolog/Handler/NewRelicHandler.php index 0b83b968..07869cee 100644 --- a/src/Monolog/Handler/NewRelicHandler.php +++ b/src/Monolog/Handler/NewRelicHandler.php @@ -37,6 +37,10 @@ class NewRelicHandler extends AbstractProcessingHandler throw new MissingExtensionException('The newrelic PHP extension is required to use the NewRelicHandler'); } + if (isset($record['context']['appname'])) { + newrelic_set_appname($record['context']['appname']); + } + if (isset($record['context']['exception']) && $record['context']['exception'] instanceof \Exception) { newrelic_notice_error($record['message'], $record['context']['exception']); unset($record['context']['exception']); diff --git a/tests/Monolog/Handler/NewRelicHandlerTest.php b/tests/Monolog/Handler/NewRelicHandlerTest.php index bc7bcab8..ab3ba97d 100644 --- a/tests/Monolog/Handler/NewRelicHandlerTest.php +++ b/tests/Monolog/Handler/NewRelicHandlerTest.php @@ -36,6 +36,12 @@ class NewRelicHandlerTest extends TestCase $handler = new StubNewRelicHandler(); $handler->handle($this->getRecord(Logger::ERROR, 'log message', array('a' => 'b'))); } + + public function testThehandlerCanAddTheAppName() + { + $handler = new StubNewRelicHandler(); + $handler->handle($this->getRecord(Logger::ERROR, 'log message', array('appname' => 'myApp'))); + } } class StubNewRelicHandlerWithoutExtension extends NewRelicHandler @@ -59,6 +65,11 @@ function newrelic_notice_error() return true; } +function newrelic_set_appname() +{ + return true; +} + function newrelic_add_custom_parameter() { return true;