add separate logger to set the non restricted debug bar handler

This commit is contained in:
2022-08-02 12:07:26 +02:00
parent df1c58954f
commit 00b36364e1
4 changed files with 308 additions and 4 deletions

View File

@ -15,6 +15,8 @@ declare(strict_types=1);
namespace D3\DebugBar\Application\Component;
use D3\DebugBar\Application\Core\LoggerCascade;
use D3\DebugBar\Application\Core\LoggerNotSetException;
use D3\DebugBar\Application\Models\Collectors\SmartyCollector;
use D3\DebugBar\Application\Models\TimeDataCollectorHandler;
use DebugBar\Bridge\DoctrineCollector;
@ -23,6 +25,7 @@ use DebugBar\DebugBarException;
use DebugBar\JavascriptRenderer;
use DebugBar\StandardDebugBar;
use Doctrine\DBAL\Logging\DebugStack;
use Monolog\Logger;
use OxidEsales\Eshop\Core\Controller\BaseController;
use OxidEsales\Eshop\Core\DatabaseProvider;
use OxidEsales\Eshop\Core\Exception\DatabaseConnectionException;
@ -70,8 +73,19 @@ class DebugBarComponent extends BaseController
*/
public function getMonologCollector(): MonologCollector
{
$loggerWrapper = Registry::getLogger();
$monolog = $this->getNonPublicProperty($loggerWrapper, 'logger');
$logger = Registry::getLogger();
try {
if ( $logger instanceof LoggerCascade ) {
$monolog = $logger->getLogger( LoggerCascade::DEBUGBAR_LOGGER );
} else {
/** @var Logger $monolog */
$monolog = $this->getNonPublicProperty( $logger, 'logger' );
}
} catch ( LoggerNotSetException $e ) {
$monolog = new Logger( 'nullLogger' );
}
return new MonologCollector($monolog);
}