MediaWiki REL1_33
MediaWiki\Logger\MonologSpi Class Reference

LoggerFactory service provider that creates loggers implemented by Monolog. More...

Inheritance diagram for MediaWiki\Logger\MonologSpi:
Collaboration diagram for MediaWiki\Logger\MonologSpi:

Public Member Functions

 __construct (array $config)
 
 getFormatter ( $name)
 Create or return cached formatter.
 
 getHandler ( $name)
 Create or return cached handler.
 
 getLogger ( $channel)
 Get a logger instance.
 
 getProcessor ( $name)
 Create or return cached processor.
 
 mergeConfig (array $config)
 Merge additional configuration data into the configuration.
 
 reset ()
 Reset internal caches.
 

Protected Member Functions

 createLogger ( $channel, $spec)
 Create a logger.
 

Protected Attributes

 $config
 Configuration for creating new loggers.
 
 $singletons
 

Detailed Description

LoggerFactory service provider that creates loggers implemented by Monolog.

Configured using an array of configuration data with the keys 'loggers', 'processors', 'handlers' and 'formatters'.

The ['loggers']['\@default'] configuration will be used to create loggers for any channel that isn't explicitly named in the 'loggers' configuration section.

Configuration will most typically be provided in the $wgMWLoggerDefaultSpi global configuration variable used by LoggerFactory to construct its default SPI provider:

'class' => \\MediaWiki\\Logger\\MonologSpi::class,
'args' => [ [
'loggers' => [
'@default' => [
'processors' => [ 'wiki', 'psr', 'pid', 'uid', 'web' ],
'handlers' => [ 'stream' ],
],
'runJobs' => [
'processors' => [ 'wiki', 'psr', 'pid' ],
'handlers' => [ 'stream' ],
]
],
'processors' => [
'wiki' => [
'class' => \\MediaWiki\\Logger\\Monolog\\WikiProcessor::class,
],
'psr' => [
'class' => \\Monolog\\Processor\\PsrLogMessageProcessor::class,
],
'pid' => [
'class' => \\Monolog\\Processor\\ProcessIdProcessor::class,
],
'uid' => [
'class' => \\Monolog\\Processor\\UidProcessor::class,
],
'web' => [
'class' => \\Monolog\\Processor\\WebProcessor::class,
],
],
'handlers' => [
'stream' => [
'class' => \\Monolog\\Handler\\StreamHandler::class,
'args' => [ 'path/to/your.log' ],
'formatter' => 'line',
],
'redis' => [
'class' => \\Monolog\\Handler\\RedisHandler::class,
'args' => [ function() {
$redis = new Redis();
$redis->connect( '127.0.0.1', 6379 );
return $redis;
},
'logstash'
],
'formatter' => 'logstash',
'buffer' => true,
],
'udp2log' => [
'class' => \\MediaWiki\\Logger\\Monolog\\LegacyHandler::class,
'args' => [
'udp://127.0.0.1:8420/mediawiki
],
'formatter' => 'line',
],
],
'formatters' => [
'line' => [
'class' => \\Monolog\\Formatter\\LineFormatter::class,
],
'logstash' => [
'class' => \\Monolog\\Formatter\\LogstashFormatter::class,
'args' => [ 'mediawiki', php_uname( 'n' ), null, '', 1 ],
],
],
] ],
];
and that you know you can do these things To protect your we need to make restrictions that forbid anyone to deny you these rights or to ask you to surrender the rights These restrictions translate to certain responsibilities for you if you distribute copies of the or if you modify it For if you distribute copies of such a whether gratis or for a you must give the recipients all the rights that you have You must make sure that receive or can get the source code And you must show them these terms so they know their rights We protect your rights with two and(2) offer you this license which gives you legal permission to copy
$wgMWLoggerDefaultSpi
Default service provider for creating Psr\Log\LoggerInterface instances.
Processors read associated arrays and register whatever is required.
Definition Processor.php:9
A helper class for throttling authentication attempts.
See also
https://github.com/Seldaek/monolog
Since
1.25
Note
© 2014 Wikimedia Foundation and contributors

Definition at line 116 of file MonologSpi.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Logger\MonologSpi::__construct ( array $config)
Parameters
array$configConfiguration data.

Definition at line 132 of file MonologSpi.php.

References MediaWiki\Logger\MonologSpi\mergeConfig().

Member Function Documentation

◆ createLogger()

MediaWiki\Logger\MonologSpi::createLogger ( $channel,
$spec )
protected

Create a logger.

Parameters
string$channelLogger channel
array$specConfiguration
Returns
\Monolog\Logger

Definition at line 209 of file MonologSpi.php.

References $handler, and(), MediaWiki\Logger\MonologSpi\getHandler(), and MediaWiki\Logger\MonologSpi\getProcessor().

Referenced by MediaWiki\Logger\MonologSpi\getLogger().

◆ getFormatter()

MediaWiki\Logger\MonologSpi::getFormatter ( $name)

Create or return cached formatter.

Parameters
string$nameFormatter name
Returns
\Monolog\Formatter\FormatterInterface

Definition at line 273 of file MonologSpi.php.

References $name, and and().

Referenced by MediaWiki\Logger\MonologSpi\getHandler().

◆ getHandler()

MediaWiki\Logger\MonologSpi::getHandler ( $name)

Create or return cached handler.

Parameters
string$nameProcessor name
Returns
\Monolog\Handler\HandlerInterface

Definition at line 251 of file MonologSpi.php.

References $handler, $name, and(), and MediaWiki\Logger\MonologSpi\getFormatter().

Referenced by MediaWiki\Logger\MonologSpi\createLogger().

◆ getLogger()

MediaWiki\Logger\MonologSpi::getLogger ( $channel)

Get a logger instance.

Creates and caches a logger instance based on configuration found in the $wgMWLoggerMonologSpiConfig global. Subsequent request for the same channel name will return the cached instance.

Parameters
string$channelLogging channel
Returns
\Psr\Log\LoggerInterface Logger instance

Implements MediaWiki\Logger\Spi.

Definition at line 190 of file MonologSpi.php.

References and(), and MediaWiki\Logger\MonologSpi\createLogger().

◆ getProcessor()

MediaWiki\Logger\MonologSpi::getProcessor ( $name)

Create or return cached processor.

Parameters
string$nameProcessor name
Returns
callable

Definition at line 237 of file MonologSpi.php.

References $name, and and().

Referenced by MediaWiki\Logger\MonologSpi\createLogger().

◆ mergeConfig()

MediaWiki\Logger\MonologSpi::mergeConfig ( array $config)

Merge additional configuration data into the configuration.

Since
1.26
Parameters
array$configConfiguration data.

Definition at line 143 of file MonologSpi.php.

References MediaWiki\Logger\MonologSpi\$config, $value, and(), and MediaWiki\Logger\MonologSpi\reset().

Referenced by MediaWiki\Logger\MonologSpi\__construct().

◆ reset()

MediaWiki\Logger\MonologSpi::reset ( )

Reset internal caches.

This is public for use in unit tests. Under normal operation there should be no need to flush the caches.

Definition at line 171 of file MonologSpi.php.

Referenced by MediaWiki\Logger\MonologSpi\mergeConfig().

Member Data Documentation

◆ $config

array MediaWiki\Logger\MonologSpi::$config
protected

Configuration for creating new loggers.

Definition at line 127 of file MonologSpi.php.

Referenced by MediaWiki\Logger\MonologSpi\mergeConfig().

◆ $singletons

array MediaWiki\Logger\MonologSpi::$singletons
protected

Definition at line 121 of file MonologSpi.php.


The documentation for this class was generated from the following file: