ソースを参照

Use DefaultFormatter with ArrayLog

Corey Taylor 4 年 前
コミット
c91320a782

+ 18 - 1
src/Log/Engine/ArrayLog.php

@@ -16,6 +16,8 @@ declare(strict_types=1);
  */
 namespace Cake\Log\Engine;
 
+use Cake\Log\Formatter\DefaultFormatter;
+
 /**
  * Array logger.
  *
@@ -26,6 +28,20 @@ namespace Cake\Log\Engine;
 class ArrayLog extends BaseLog
 {
     /**
+     * Default config for this class
+     *
+     * @var array
+     */
+    protected $_defaultConfig = [
+        'levels' => [],
+        'scopes' => [],
+        'formatter' => [
+            'className' => DefaultFormatter::class,
+            'includeDate' => false,
+        ],
+    ];
+
+    /**
      * Captured messages
      *
      * @var array
@@ -43,7 +59,8 @@ class ArrayLog extends BaseLog
      */
     public function log($level, $message, array $context = [])
     {
-        $this->content[] = $level . ' ' . $this->_format($message, $context);
+        $message = $this->_format($message, $context);
+        $this->content[] = $this->formatter->format($level, $message, $context);
     }
 
     /**

+ 5 - 5
tests/TestCase/Database/ConnectionTest.php

@@ -1008,7 +1008,7 @@ class ConnectionTest extends TestCase
 
         $messages = Log::engine('queries')->read();
         $this->assertCount(1, $messages);
-        $this->assertSame('debug connection=test duration=0 rows=0 SELECT 1', $messages[0]);
+        $this->assertSame('debug: connection=test duration=0 rows=0 SELECT 1', $messages[0]);
     }
 
     /**
@@ -1069,8 +1069,8 @@ class ConnectionTest extends TestCase
 
         $messages = Log::engine('queries')->read();
         $this->assertCount(2, $messages);
-        $this->assertSame('debug connection= duration=0 rows=0 BEGIN', $messages[0]);
-        $this->assertSame('debug connection= duration=0 rows=0 ROLLBACK', $messages[1]);
+        $this->assertSame('debug: connection= duration=0 rows=0 BEGIN', $messages[0]);
+        $this->assertSame('debug: connection= duration=0 rows=0 ROLLBACK', $messages[1]);
     }
 
     /**
@@ -1093,8 +1093,8 @@ class ConnectionTest extends TestCase
 
         $messages = Log::engine('queries')->read();
         $this->assertCount(2, $messages);
-        $this->assertSame('debug connection= duration=0 rows=0 BEGIN', $messages[0]);
-        $this->assertSame('debug connection= duration=0 rows=0 COMMIT', $messages[1]);
+        $this->assertSame('debug: connection= duration=0 rows=0 BEGIN', $messages[0]);
+        $this->assertSame('debug: connection= duration=0 rows=0 COMMIT', $messages[1]);
     }
 
     /**

+ 5 - 5
tests/TestCase/Database/Log/LoggingStatementTest.php

@@ -64,7 +64,7 @@ class LoggingStatementTest extends TestCase
 
         $messages = Log::engine('queries')->read();
         $this->assertCount(1, $messages);
-        $this->assertMatchesRegularExpression('/^debug connection=test duration=\d+ rows=3 SELECT bar FROM foo$/', $messages[0]);
+        $this->assertMatchesRegularExpression('/^debug: connection=test duration=\d+ rows=3 SELECT bar FROM foo$/', $messages[0]);
     }
 
     /**
@@ -87,7 +87,7 @@ class LoggingStatementTest extends TestCase
 
         $messages = Log::engine('queries')->read();
         $this->assertCount(1, $messages);
-        $this->assertMatchesRegularExpression('/^debug connection=test duration=\d+ rows=4 SELECT bar FROM foo WHERE x=1 AND y=2$/', $messages[0]);
+        $this->assertMatchesRegularExpression('/^debug: connection=test duration=\d+ rows=4 SELECT bar FROM foo WHERE x=1 AND y=2$/', $messages[0]);
     }
 
     /**
@@ -121,8 +121,8 @@ class LoggingStatementTest extends TestCase
 
         $messages = Log::engine('queries')->read();
         $this->assertCount(2, $messages);
-        $this->assertMatchesRegularExpression("/^debug connection=test duration=\d+ rows=4 SELECT bar FROM foo WHERE a='1' AND b='2013-01-01'$/", $messages[0]);
-        $this->assertMatchesRegularExpression("/^debug connection=test duration=\d+ rows=4 SELECT bar FROM foo WHERE a='1' AND b='2014-01-01'$/", $messages[1]);
+        $this->assertMatchesRegularExpression("/^debug: connection=test duration=\d+ rows=4 SELECT bar FROM foo WHERE a='1' AND b='2013-01-01'$/", $messages[0]);
+        $this->assertMatchesRegularExpression("/^debug: connection=test duration=\d+ rows=4 SELECT bar FROM foo WHERE a='1' AND b='2014-01-01'$/", $messages[1]);
     }
 
     /**
@@ -151,7 +151,7 @@ class LoggingStatementTest extends TestCase
 
         $messages = Log::engine('queries')->read();
         $this->assertCount(1, $messages);
-        $this->assertMatchesRegularExpression("/^debug connection=test duration=\d+ rows=0 SELECT bar FROM foo$/", $messages[0]);
+        $this->assertMatchesRegularExpression("/^debug: connection=test duration=\d+ rows=0 SELECT bar FROM foo$/", $messages[0]);
     }
 
     /**