Ver código fonte

removed Logger::getDebugLogger() as the method is not part of any interface

Fabien Potencier 14 anos atrás
pai
commit
d1ca577e3f

+ 22 - 2
src/Symfony/Bridge/Monolog/Logger.php

@@ -20,14 +20,34 @@ use Symfony\Component\HttpKernel\Log\DebugLoggerInterface;
  *
  * @author Fabien Potencier <fabien@symfony.com>
  */
-class Logger extends BaseLogger implements LoggerInterface
+class Logger extends BaseLogger implements LoggerInterface, DebugLoggerInterface
 {
+    /**
+     * @see Symfony\Component\HttpKernel\Log\DebugLoggerInterface
+     */
+    public function getLogs()
+    {
+        if ($logger = $this->getDebugLogger()) {
+            return $logger->getLogs();
+        }
+    }
+
+    /**
+     * @see Symfony\Component\HttpKernel\Log\DebugLoggerInterface
+     */
+    public function countErrors()
+    {
+        if ($logger = $this->getDebugLogger()) {
+            return $logger->countErrors();
+        }
+    }
+
     /**
      * Returns a DebugLoggerInterface instance if one is registered with this logger.
      *
      * @return DebugLoggerInterface A DebugLoggerInterface instance or null if none is registered
      */
-    public function getDebugLogger()
+    private function getDebugLogger()
     {
         foreach ($this->handlers as $handler) {
             if ($handler instanceof DebugLoggerInterface) {

+ 3 - 2
src/Symfony/Component/HttpKernel/DataCollector/LoggerDataCollector.php

@@ -13,6 +13,7 @@ namespace Symfony\Component\HttpKernel\DataCollector;
 
 use Symfony\Component\HttpFoundation\Request;
 use Symfony\Component\HttpFoundation\Response;
+use Symfony\Component\HttpKernel\Log\DebugLoggerInterface;
 
 /**
  * LogDataCollector.
@@ -25,8 +26,8 @@ class LoggerDataCollector extends DataCollector
 
     public function __construct($logger = null)
     {
-        if (null !== $logger) {
-            $this->logger = $logger->getDebugLogger();
+        if (null !== $logger && $logger instanceof DebugLoggerInterface) {
+            $this->logger = $logger;
         }
     }
 

+ 1 - 1
src/Symfony/Component/HttpKernel/Debug/ExceptionListener.php

@@ -59,7 +59,7 @@ class ExceptionListener
             error_log(sprintf('Uncaught PHP Exception %s: "%s" at %s line %s', get_class($exception), $exception->getMessage(), $exception->getFile(), $exception->getLine()));
         }
 
-        $logger = null !== $this->logger ? $this->logger->getDebugLogger() : null;
+        $logger = $this->logger instanceof DebugLoggerInterface ? $this->logger : null;
 
         $flattenException = FlattenException::create($exception);
         if ($exception instanceof HttpExceptionInterface) {

+ 0 - 5
tests/Symfony/Tests/Component/HttpKernel/DataCollector/LoggerDataCollectorTest.php

@@ -39,11 +39,6 @@ class TestLogger extends Logger implements DebugLoggerInterface
         return 1337;
     }
 
-    public function getDebugLogger()
-    {
-        return new static();
-    }
-
     public function getLogs($priority = false)
     {
         return array('foo');

+ 0 - 5
tests/Symfony/Tests/Component/HttpKernel/Debug/ExceptionListenerTest.php

@@ -105,11 +105,6 @@ class TestLogger extends Logger implements DebugLoggerInterface
     {
         return count($this->logs['crit']);
     }
-
-    public function getDebugLogger()
-    {
-        return new static();
-    }
 }
 
 class TestKernel implements HttpKernelInterface