From: Gergő Tisza Date: Fri, 4 Nov 2016 03:54:12 +0000 (+0000) Subject: Optionally collect context in TestLogger X-Git-Tag: 1.31.0-rc.0~4526^2 X-Git-Url: https://git.heureux-cyclage.org/index.php?a=commitdiff_plain;h=7b85b6b09ed05999ed06d7ec266746ad05e82447;p=lhc%2Fweb%2Fwiklou.git Optionally collect context in TestLogger Change-Id: I3835b054ceac0fa0bcd58b41efa6bf78a0fafae7 --- diff --git a/tests/phpunit/includes/TestLogger.php b/tests/phpunit/includes/TestLogger.php index 3cb20e1bd4..7086a926be 100644 --- a/tests/phpunit/includes/TestLogger.php +++ b/tests/phpunit/includes/TestLogger.php @@ -33,16 +33,18 @@ use Psr\Log\LogLevel; */ class TestLogger extends \Psr\Log\AbstractLogger { private $collect = false; + private $collectContext = false; private $buffer = []; private $filter = null; /** * @param bool $collect Whether to collect logs * @param callable $filter Filter logs before collecting/printing. Signature is - * string|null function ( string $message, string $level ); + * string|null function ( string $message, string $level, array $context ); */ - public function __construct( $collect = false, $filter = null ) { + public function __construct( $collect = false, $filter = null, $collectContext = false ) { $this->collect = $collect; + $this->collectContext = $collectContext; $this->filter = $filter; } @@ -56,7 +58,8 @@ class TestLogger extends \Psr\Log\AbstractLogger { /** * Return the collected logs - * @return array Array of array( string $level, string $message ) + * @return array Array of array( string $level, string $message ), or + * array( string $level, string $message, array $context ) if $collectContext was true. */ public function getBuffer() { return $this->buffer; @@ -73,14 +76,18 @@ class TestLogger extends \Psr\Log\AbstractLogger { $message = trim( $message ); if ( $this->filter ) { - $message = call_user_func( $this->filter, $message, $level ); + $message = call_user_func( $this->filter, $message, $level, $context ); if ( $message === null ) { return; } } if ( $this->collect ) { - $this->buffer[] = [ $level, $message ]; + if ( $this->collectContext ) { + $this->buffer[] = [ $level, $message, $context ]; + } else { + $this->buffer[] = [ $level, $message ]; + } } else { switch ( $level ) { case LogLevel::DEBUG: