(bug 44111) ErrorPageError log messages should be in English
We want log messages to be in English. ErrorPageError, however, will log the messages using the language of the current user. This isn't often noticed, because the normal page view code path doesn't log ErrorPageError and the API doesn't usually have ErrorPageError thrown in the first place. The fix is simple enough: in the constructor, create a new Message object and call ->inLanguage( 'en' ) on it. And, for good measure, ->useDatabase( false ) so customizations on the local wiki won't show up in the log files either. Since ErrorPageError already overrides report(), that will take care of still showing the expected language to the end user. Bug: 44111 Change-Id: I9a6ab43d63e76fa9708b62e32ddc3262aff282f7
This commit is contained in:
parent
30ed1302b1
commit
fb04d38e23
1 changed files with 8 additions and 2 deletions
|
|
@ -328,11 +328,17 @@ class ErrorPageError extends MWException {
|
|||
$this->msg = $msg;
|
||||
$this->params = $params;
|
||||
|
||||
// Bug 44111: Messages in the log files should be in English and not
|
||||
// customized by the local wiki. So get the default English version for
|
||||
// passing to the parent constructor. Our overridden report() below
|
||||
// makes sure that the page shown to the user is not forced to English.
|
||||
if( $msg instanceof Message ) {
|
||||
parent::__construct( $msg );
|
||||
$enMsg = clone( $msg );
|
||||
} else {
|
||||
parent::__construct( wfMessage( $msg )->text() );
|
||||
$enMsg = wfMessage( $msg, $params );
|
||||
}
|
||||
$enMsg->inLanguage( 'en' )->useDatabase( false );
|
||||
parent::__construct( $enMsg->text() );
|
||||
}
|
||||
|
||||
function report() {
|
||||
|
|
|
|||
Loading…
Reference in a new issue