MediaWiki REL1_28
MediaWiki\Logger\LegacyLogger Class Reference

PSR-3 logger that mimics the historic implementation of MediaWiki's wfErrorLog logging implementation. More...

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

Public Member Functions

 __construct ( $channel)
 
 log ( $level, $message, array $context=[])
 Logs with an arbitrary level.
 

Static Public Member Functions

static emit ( $text, $file)
 Log to a file without getting "file size exceeded" signals.
 
static format ( $channel, $message, $context)
 Format a message.
 
static interpolate ( $message, array $context)
 Interpolate placeholders in logging message.
 
static shouldEmit ( $channel, $message, $level, $context)
 Determine if the given message should be emitted or not.
 

Static Protected Member Functions

static destination ( $channel, $message, $context)
 Select the appropriate log output destination for the given log event.
 
static flatten ( $item)
 Convert a logging context element to a string suitable for interpolation.
 
static formatAsWfDebug ( $channel, $message, $context)
 Format a message as wfDebug() would have formatted it.
 
static formatAsWfDebugLog ( $channel, $message, $context)
 Format a message as `wfDebugLog() would have formatted it.
 
static formatAsWfLogDBError ( $channel, $message, $context)
 Format a message as wfLogDBError() would have formatted it.
 

Protected Attributes

 $channel
 

Static Protected Attributes

static array $dbChannels
 
static $levelMapping
 Convert \Psr\Log\LogLevel constants into int for sane comparisons These are the same values that Monlog uses.
 

Detailed Description

PSR-3 logger that mimics the historic implementation of MediaWiki's wfErrorLog logging implementation.

This logger is configured by the following global configuration variables:

  • $wgDebugLogFile
  • $wgDebugLogGroups
  • $wgDBerrorLog
  • $wgDBerrorLogTZ

See documentation in DefaultSettings.php for detailed explanations of each variable.

See also
\MediaWiki\Logger\LoggerFactory
Since
1.25
Author
Bryan Davis bd808.nosp@m.@wik.nosp@m.imedi.nosp@m.a.or.nosp@m.g
Note
© 2014 Bryan Davis and Wikimedia Foundation.

Definition at line 49 of file LegacyLogger.php.

Constructor & Destructor Documentation

◆ __construct()

MediaWiki\Logger\LegacyLogger::__construct (   $channel)
Parameters
string$channel

Definition at line 84 of file LegacyLogger.php.

References MediaWiki\Logger\LegacyLogger\$channel.

Member Function Documentation

◆ destination()

static MediaWiki\Logger\LegacyLogger::destination (   $channel,
  $message,
  $context 
)
staticprotected

Select the appropriate log output destination for the given log event.

If the event context contains 'destination'

Parameters
string$channel
string$message
array$context
Returns
string

Definition at line 427 of file LegacyLogger.php.

References MediaWiki\Logger\LegacyLogger\$channel, $context, $wgDBerrorLog, $wgDebugLogFile, $wgDebugLogGroups, and global.

Referenced by MediaWiki\Logger\LegacyLogger\log().

◆ emit()

static MediaWiki\Logger\LegacyLogger::emit (   $text,
  $file 
)
static

Log to a file without getting "file size exceeded" signals.

Can also log to UDP with the syntax udp://host:port/prefix. This will send lines to the specified port, prefixed by the specified prefix and a space.

Parameters
string$text
string$fileFilename

Definition at line 466 of file LegacyLogger.php.

References UDPTransport\newFromString().

Referenced by MediaWiki\Logger\LegacyLogger\log().

◆ flatten()

static MediaWiki\Logger\LegacyLogger::flatten (   $item)
staticprotected

Convert a logging context element to a string suitable for interpolation.

Parameters
mixed$item
Returns
string

Definition at line 365 of file LegacyLogger.php.

Referenced by MediaWiki\Logger\LegacyLogger\interpolate().

◆ format()

static MediaWiki\Logger\LegacyLogger::format (   $channel,
  $message,
  $context 
)
static

Format a message.

Messages to the 'wfDebug', 'wfLogDBError' and 'wfErrorLog' channels receive special fomatting to mimic the historic output of the functions of the same name. All other channel values are formatted based on the historic output of the wfDebugLog() global function.

Parameters
string$channel
string$message
array$context
Returns
string

Definition at line 206 of file LegacyLogger.php.

References MediaWiki\Logger\LegacyLogger\$channel, $context, $e, $wgDebugLogGroups, $wgLogExceptionBacktrace, MediaWiki\Logger\LegacyLogger\formatAsWfDebug(), MediaWiki\Logger\LegacyLogger\formatAsWfDebugLog(), MediaWiki\Logger\LegacyLogger\formatAsWfLogDBError(), MWExceptionHandler\getRedactedTrace(), global, MediaWiki\Logger\LegacyLogger\interpolate(), and MWExceptionHandler\prettyPrintTrace().

Referenced by MediaWiki\Logger\Monolog\LegacyFormatter\format().

◆ formatAsWfDebug()

static MediaWiki\Logger\LegacyLogger::formatAsWfDebug (   $channel,
  $message,
  $context 
)
staticprotected

Format a message as wfDebug() would have formatted it.

Parameters
string$channel
string$message
array$context
Returns
string

Definition at line 285 of file LegacyLogger.php.

References $context.

Referenced by MediaWiki\Logger\LegacyLogger\format().

◆ formatAsWfDebugLog()

static MediaWiki\Logger\LegacyLogger::formatAsWfDebugLog (   $channel,
  $message,
  $context 
)
staticprotected

Format a message as `wfDebugLog() would have formatted it.

Parameters
string$channel
string$message
array$context
Returns
null

Definition at line 332 of file LegacyLogger.php.

References $time, TS_DB, wfHostname(), wfTimestamp(), and wfWikiID().

Referenced by MediaWiki\Logger\LegacyLogger\format().

◆ formatAsWfLogDBError()

static MediaWiki\Logger\LegacyLogger::formatAsWfLogDBError (   $channel,
  $message,
  $context 
)
staticprotected

Format a message as wfLogDBError() would have formatted it.

Parameters
string$channel
string$message
array$context
Returns
string

Definition at line 306 of file LegacyLogger.php.

References $wgDBerrorLogTZ, global, wfHostname(), and wfWikiID().

Referenced by MediaWiki\Logger\LegacyLogger\format().

◆ interpolate()

static MediaWiki\Logger\LegacyLogger::interpolate (   $message,
array  $context 
)
static

Interpolate placeholders in logging message.

Parameters
string$message
array$context
Returns
string Interpolated message

Definition at line 347 of file LegacyLogger.php.

References $context, as, and MediaWiki\Logger\LegacyLogger\flatten().

Referenced by MediaWiki\Logger\LegacyLogger\format(), and MediaWiki\Logger\LegacyLoggerTest\testInterpolate().

◆ log()

MediaWiki\Logger\LegacyLogger::log (   $level,
  $message,
array  $context = [] 
)

Logs with an arbitrary level.

Parameters
string | int$level
string$message
array$context
Returns
null

Definition at line 96 of file LegacyLogger.php.

References MediaWiki\Logger\LegacyLogger\$channel, $context, MWDebug\debugMsg(), MediaWiki\Logger\LegacyLogger\destination(), MediaWiki\Logger\LegacyLogger\emit(), and MWDebug\query().

◆ shouldEmit()

static MediaWiki\Logger\LegacyLogger::shouldEmit (   $channel,
  $message,
  $level,
  $context 
)
static

Determine if the given message should be emitted or not.

Parameters
string$channel
string$message
string | int$level\Psr\Log\LogEvent constant or Monolog level int
array$context
Returns
bool True if message should be sent to disk/network, false otherwise

Definition at line 137 of file LegacyLogger.php.

References MediaWiki\Logger\LegacyLogger\$channel, $context, $wgDBerrorLog, $wgDebugLogFile, $wgDebugLogGroups, and global.

Referenced by MediaWiki\Logger\LegacyLoggerTest\testShouldEmit(), and MediaWiki\Logger\Monolog\LegacyHandler\write().

Member Data Documentation

◆ $channel

◆ $dbChannels

array MediaWiki\Logger\LegacyLogger::$dbChannels
staticprotected
Initial value:
= [
'DBQuery' => true,
'DBConnection' => true
]
null means default in associative array with keys and values unescaped Should be merged with default with a value of false meaning to suppress the attribute in associative array with keys and values unescaped noclasses just before the function returns a value If you return true
Definition hooks.txt:1950

Definition at line 76 of file LegacyLogger.php.

◆ $levelMapping

array MediaWiki\Logger\LegacyLogger::$levelMapping
staticprotected
Initial value:
= [
LogLevel::DEBUG => 100,
LogLevel::INFO => 200,
LogLevel::NOTICE => 250,
LogLevel::WARNING => 300,
LogLevel::ERROR => 400,
LogLevel::CRITICAL => 500,
LogLevel::ALERT => 550,
LogLevel::EMERGENCY => 600,
]

Convert \Psr\Log\LogLevel constants into int for sane comparisons These are the same values that Monlog uses.

Definition at line 62 of file LegacyLogger.php.


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