MediaWiki REL1_31
TestLogger.php
Go to the documentation of this file.
1<?php
25use Psr\Log\LogLevel;
26
33class TestLogger extends \Psr\Log\AbstractLogger {
34 private $collect = false;
35 private $collectContext = false;
36 private $buffer = [];
37 private $filter = null;
38
46 public function __construct( $collect = false, $filter = null, $collectContext = false ) {
47 $this->collect = $collect;
48 $this->collectContext = $collectContext;
49 $this->filter = $filter;
50 }
51
57 public function setCollect( $collect ) {
58 $this->collect = $collect;
59 return $this;
60 }
61
70 $this->collectContext = $collectContext;
71 return $this;
72 }
73
79 public function getBuffer() {
80 return $this->buffer;
81 }
82
86 public function clearBuffer() {
87 $this->buffer = [];
88 }
89
90 public function log( $level, $message, array $context = [] ) {
91 $message = trim( $message );
92
93 if ( $this->filter ) {
94 $message = call_user_func( $this->filter, $message, $level, $context );
95 if ( $message === null ) {
96 return;
97 }
98 }
99
100 if ( $this->collect ) {
101 if ( $this->collectContext ) {
102 $this->buffer[] = [ $level, $message, $context ];
103 } else {
104 $this->buffer[] = [ $level, $message ];
105 }
106 } else {
107 switch ( $level ) {
108 case LogLevel::DEBUG:
109 case LogLevel::INFO:
110 case LogLevel::NOTICE:
111 trigger_error( "LOG[$level]: $message", E_USER_NOTICE );
112 break;
113
114 case LogLevel::WARNING:
115 trigger_error( "LOG[$level]: $message", E_USER_WARNING );
116 break;
117
118 case LogLevel::ERROR:
119 case LogLevel::CRITICAL:
120 case LogLevel::ALERT:
121 case LogLevel::EMERGENCY:
122 trigger_error( "LOG[$level]: $message", E_USER_ERROR );
123 break;
124 }
125 }
126 }
127}
A logger that may be configured to either buffer logs or to print them to the output where PHPUnit wi...
setCollectContext( $collectContext)
Set the collectContext flag.
__construct( $collect=false, $filter=null, $collectContext=false)
setCollect( $collect)
Set the "collect" flag.
clearBuffer()
Clear the collected log buffer.
getBuffer()
Return the collected logs.
log( $level, $message, array $context=[])
do that in ParserLimitReportFormat instead use this to modify the parameters of the image all existing parser cache entries will be invalid To avoid you ll need to handle that somehow(e.g. with the RejectParserCacheValue hook) because MediaWiki won 't do it for you. & $defaults also a ContextSource after deleting those rows but within the same transaction you ll probably need to make sure the header is varied on and they can depend only on the ResourceLoaderContext $context
Definition hooks.txt:2811