Manual:$wgDebugLogGroups
Debug: $wgDebugLogGroups | |
---|---|
Direct wfDebugLog() output for certain groups to files other than $wgDebugLogFile . |
|
Introduced in version: | 1.5.0 (r10598) |
Removed in version: | Still in use |
Allowed values: | (array of log group keys to filenames) |
Default value: | [] |
Other settings: Alphabetical | By function |
Details
editSet to an array of log group keys to filenames.
If set, wfDebugLog()
output for that group will go to that file instead of the regular $wgDebugLogFile
.
Useful for enabling selective logging in production.
If a group is configured in
$wgDebugLogGroups
, then all debug messages with the according group key will be logged to that file, also if $wgDebugLogFile
is not set! With other words: If a group key is configured in $wgDebugLogGroups
, messages will be written, even if an empty value of $wgDebugLogFile
generally disables debugging.Log destinations may be one of the following:
- false to completely remove from the output, including from $wgDebugLogFile.
- string values specifying a filename or URI.
- associative array with keys:
destination
- desired filename or URI.sample
- an integer value, specifying a sampling factor (optional)level
- A\Psr\Log\LogLevel
constant, indicating the minimum log level (optional, since 1.25)
When $wgMWLoggerDefaultSpi
is set to a non-default value, $wgDebugLogGroups
will probably be ignored, and the method of configuring log files will be determined by whatever logging system is invoked by $wgMWLoggerDefaultSpi
.
Example
editThis example logs debug messages of group "ConfirmEditExtension" to "debug-ext_confirmedit.log" and those of group "SpamRegex" to "debug-spam.log".
$wgDebugLogGroups = [
'ConfirmEditExtension' => $IP . '/../../home/debug-ext_confirmedit.log',
'SpamRegex' => $IP . '/../../home/debug-spam.log',
];
Example:
$wgDebugLogGroups['redis'] = '/var/log/mediawiki/redis.log';
Advanced example:
$wgDebugLogGroups['memcached'] = [
'destination' => '/var/log/mediawiki/memcached.log',
'sample' => 1000, // log 1 message out of every 1,000.
'level' => \Psr\Log\LogLevel::WARNING,
];
$wgDebugLogGroups['redis'] = [
'destination' => '/var/log/mediawiki/redis.log',
// Level can also be the literal string value of any Psr\Log\LogLevel constant
'level' => 'info',
];
- Multiple log groups in a single file
- You might want to setup a temporary configuration like the following to see all authentication related logging to trouble-shoot authentication.
$wgDebugLogGroups['cookie'] =
$wgDebugLogGroups['session'] =
$wgDebugLogGroups['SimpleSAMLphp'] =
$wgDebugLogGroups['PluggableAuth'] = "$IP/cache/PluggableAuth.log";
Some common debug log groups
editexception
,error
,fatal
- errorsdeprecated
- deprecation warningsobjectcache
,caches
,memcached
/SQLBagOStuff
- cacherdbms
- database (including, if $wgDebugDumpSql is set, all DB queries)cookie
- response cookiesexec
- shell commandssession
- SessionManagerauthentication
,login
- AuthManagerratelimit
,throttler
- hitting rate limits ($wgRateLimits and other)resourceloader
,ResourceLoaderImage
- ResourceLoaderhttp
,HttpError
- HTTP requests to external services (via theHttp
/MwHttpRequest
classes)api
- APIthumbnail
,fileupload
,fileconcatenate
- image-relatedrunJobs
- Job queueparser
,ParserCache
- Parserslow-parse
- warnings about pages that take long to parse