1
0
mirror of https://github.com/Seldaek/monolog.git synced 2025-08-06 13:16:39 +02:00

Optimize ChromePHP/FirePHP to skip header generation when they are disabled, refs #360

This commit is contained in:
Jordi Boggiano
2014-04-23 15:56:51 +02:00
parent fe226bf15b
commit 7567cecfa5
4 changed files with 21 additions and 6 deletions

View File

@@ -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);

View File

@@ -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);

View File

@@ -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();
}

View File

@@ -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;
}