mirror of
https://github.com/Seldaek/monolog.git
synced 2025-08-06 21:26:43 +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()
|
protected function send()
|
||||||
{
|
{
|
||||||
if (self::$overflowed) {
|
if (self::$overflowed || !self::$sendHeaders) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!self::$initialized) {
|
if (!self::$initialized) {
|
||||||
self::$sendHeaders = $this->headersAccepted();
|
|
||||||
self::$json['request_uri'] = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : '';
|
|
||||||
|
|
||||||
self::$initialized = true;
|
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);
|
$json = @json_encode(self::$json);
|
||||||
|
@@ -131,15 +131,22 @@ class FirePHPHandler extends AbstractProcessingHandler
|
|||||||
*/
|
*/
|
||||||
protected function write(array $record)
|
protected function write(array $record)
|
||||||
{
|
{
|
||||||
|
if (!self::$sendHeaders) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// WildFire-specific headers must be sent prior to any messages
|
// WildFire-specific headers must be sent prior to any messages
|
||||||
if (!self::$initialized) {
|
if (!self::$initialized) {
|
||||||
|
self::$initialized = true;
|
||||||
|
|
||||||
self::$sendHeaders = $this->headersAccepted();
|
self::$sendHeaders = $this->headersAccepted();
|
||||||
|
if (!self::$sendHeaders) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
foreach ($this->getInitHeaders() as $header => $content) {
|
foreach ($this->getInitHeaders() as $header => $content) {
|
||||||
$this->sendHeader($header, $content);
|
$this->sendHeader($header, $content);
|
||||||
}
|
}
|
||||||
|
|
||||||
self::$initialized = true;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$header = $this->createRecordHeader($record);
|
$header = $this->createRecordHeader($record);
|
||||||
|
@@ -22,6 +22,7 @@ class ChromePHPHandlerTest extends TestCase
|
|||||||
protected function setUp()
|
protected function setUp()
|
||||||
{
|
{
|
||||||
TestChromePHPHandler::reset();
|
TestChromePHPHandler::reset();
|
||||||
|
$_SERVER['HTTP_USER_AGENT'] = 'Monolog Test; Chrome/1.0';
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testHeaders()
|
public function testHeaders()
|
||||||
@@ -124,6 +125,7 @@ class TestChromePHPHandler extends ChromePHPHandler
|
|||||||
{
|
{
|
||||||
self::$initialized = false;
|
self::$initialized = false;
|
||||||
self::$overflowed = false;
|
self::$overflowed = false;
|
||||||
|
self::$sendHeaders = true;
|
||||||
self::$json['rows'] = array();
|
self::$json['rows'] = array();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -22,6 +22,7 @@ class FirePHPHandlerTest extends TestCase
|
|||||||
public function setUp()
|
public function setUp()
|
||||||
{
|
{
|
||||||
TestFirePHPHandler::reset();
|
TestFirePHPHandler::reset();
|
||||||
|
$_SERVER['HTTP_USER_AGENT'] = 'Monolog Test; FirePHP/1.0';
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testHeaders()
|
public function testHeaders()
|
||||||
@@ -79,6 +80,7 @@ class TestFirePHPHandler extends FirePHPHandler
|
|||||||
public static function reset()
|
public static function reset()
|
||||||
{
|
{
|
||||||
self::$initialized = false;
|
self::$initialized = false;
|
||||||
|
self::$sendHeaders = true;
|
||||||
self::$messageIndex = 1;
|
self::$messageIndex = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user