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:
@@ -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);
|
||||
|
@@ -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);
|
||||
|
@@ -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();
|
||||
}
|
||||
|
||||
|
@@ -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;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user