Explorar el Código

NewRelic handler: added the app name

odino hace 12 años
padre
commit
db3df1a1fa

+ 4 - 0
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');
             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) {
         if (isset($record['context']['exception']) && $record['context']['exception'] instanceof \Exception) {
             newrelic_notice_error($record['message'], $record['context']['exception']);
             newrelic_notice_error($record['message'], $record['context']['exception']);
             unset($record['context']['exception']);
             unset($record['context']['exception']);

+ 11 - 0
tests/Monolog/Handler/NewRelicHandlerTest.php

@@ -36,6 +36,12 @@ class NewRelicHandlerTest extends TestCase
         $handler = new StubNewRelicHandler();
         $handler = new StubNewRelicHandler();
         $handler->handle($this->getRecord(Logger::ERROR, 'log message', array('a' => 'b')));
         $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
 class StubNewRelicHandlerWithoutExtension extends NewRelicHandler
@@ -59,6 +65,11 @@ function newrelic_notice_error()
     return true;
     return true;
 }
 }
 
 
+function newrelic_set_appname()
+{
+    return true;
+}
+
 function newrelic_add_custom_parameter()
 function newrelic_add_custom_parameter()
 {
 {
     return true;
     return true;