diff --git a/src/Monolog/Handler/ChromePHPHandler.php b/src/Monolog/Handler/ChromePHPHandler.php index 75fa8025..ff7a7809 100644 --- a/src/Monolog/Handler/ChromePHPHandler.php +++ b/src/Monolog/Handler/ChromePHPHandler.php @@ -100,15 +100,19 @@ class ChromePHPHandler extends AbstractProcessingHandler */ protected function send() { - if (self::$overflowed) { + if (self::$overflowed || !self::$sendHeaders) { return; } if (!self::$initialized) { - self::$sendHeaders = $this->headersAccepted(); - self::$json['request_uri'] = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : ''; - self::$initialized = true; + + self::$sendHeaders = $this->headersAccepted(); + if (!self::$sendHeaders) { + return; + } + + self::$json['request_uri'] = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : ''; } $json = @json_encode(self::$json); diff --git a/src/Monolog/Handler/FirePHPHandler.php b/src/Monolog/Handler/FirePHPHandler.php index 376143f0..fee47950 100644 --- a/src/Monolog/Handler/FirePHPHandler.php +++ b/src/Monolog/Handler/FirePHPHandler.php @@ -131,15 +131,22 @@ class FirePHPHandler extends AbstractProcessingHandler */ protected function write(array $record) { + if (!self::$sendHeaders) { + return; + } + // WildFire-specific headers must be sent prior to any messages if (!self::$initialized) { + self::$initialized = true; + self::$sendHeaders = $this->headersAccepted(); + if (!self::$sendHeaders) { + return; + } foreach ($this->getInitHeaders() as $header => $content) { $this->sendHeader($header, $content); } - - self::$initialized = true; } $header = $this->createRecordHeader($record); diff --git a/tests/Monolog/Handler/ChromePHPHandlerTest.php b/tests/Monolog/Handler/ChromePHPHandlerTest.php index 9fa4d506..2f55faf8 100644 --- a/tests/Monolog/Handler/ChromePHPHandlerTest.php +++ b/tests/Monolog/Handler/ChromePHPHandlerTest.php @@ -22,6 +22,7 @@ class ChromePHPHandlerTest extends TestCase protected function setUp() { TestChromePHPHandler::reset(); + $_SERVER['HTTP_USER_AGENT'] = 'Monolog Test; Chrome/1.0'; } public function testHeaders() @@ -124,6 +125,7 @@ class TestChromePHPHandler extends ChromePHPHandler { self::$initialized = false; self::$overflowed = false; + self::$sendHeaders = true; self::$json['rows'] = array(); } diff --git a/tests/Monolog/Handler/FirePHPHandlerTest.php b/tests/Monolog/Handler/FirePHPHandlerTest.php index 2b7b76d9..0eb10a63 100644 --- a/tests/Monolog/Handler/FirePHPHandlerTest.php +++ b/tests/Monolog/Handler/FirePHPHandlerTest.php @@ -22,6 +22,7 @@ class FirePHPHandlerTest extends TestCase public function setUp() { TestFirePHPHandler::reset(); + $_SERVER['HTTP_USER_AGENT'] = 'Monolog Test; FirePHP/1.0'; } public function testHeaders() @@ -79,6 +80,7 @@ class TestFirePHPHandler extends FirePHPHandler public static function reset() { self::$initialized = false; + self::$sendHeaders = true; self::$messageIndex = 1; }