Code Coverage |
||||||||||
Lines |
Functions and Methods |
Classes and Traits |
||||||||
Total | |
0.00% |
0 / 4 |
|
0.00% |
0 / 1 |
CRAP | |
0.00% |
0 / 1 |
BufferHandler | |
0.00% |
0 / 4 |
|
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 1 |
handle | |
0.00% |
0 / 4 |
|
0.00% |
0 / 1 |
6 |
1 | <?php |
2 | /** |
3 | * This program is free software; you can redistribute it and/or modify |
4 | * it under the terms of the GNU General Public License as published by |
5 | * the Free Software Foundation; either version 2 of the License, or |
6 | * (at your option) any later version. |
7 | * |
8 | * This program is distributed in the hope that it will be useful, |
9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
11 | * GNU General Public License for more details. |
12 | * |
13 | * You should have received a copy of the GNU General Public License along |
14 | * with this program; if not, write to the Free Software Foundation, Inc., |
15 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. |
16 | * http://www.gnu.org/copyleft/gpl.html |
17 | * |
18 | * @file |
19 | */ |
20 | |
21 | namespace MediaWiki\Logger\Monolog; |
22 | |
23 | use MediaWiki\Deferred\DeferredUpdates; |
24 | use Monolog\Handler\BufferHandler as BaseBufferHandler; |
25 | |
26 | /** |
27 | * Helper class for the index.php entry point. |
28 | * |
29 | * Updates \Monolog\Handler\BufferHandler to use DeferredUpdates rather |
30 | * than register_shutdown_function. On supported platforms this will |
31 | * use register_postsend_function or fastcgi_finish_request() to delay |
32 | * until after the request has shutdown and we are no longer delaying |
33 | * the web request. |
34 | * |
35 | * TODO: shutdown is later than postsend. Is this class still useful? |
36 | * |
37 | * @since 1.26 |
38 | * @ingroup Debug |
39 | */ |
40 | class BufferHandler extends BaseBufferHandler { |
41 | /** |
42 | * @inheritDoc |
43 | */ |
44 | public function handle( array $record ): bool { |
45 | if ( !$this->initialized ) { |
46 | DeferredUpdates::addCallableUpdate( [ $this, 'close' ] ); |
47 | $this->initialized = true; |
48 | } |
49 | return parent::handle( $record ); |
50 | } |
51 | } |