Skip to content
Snippets Groups Projects

Extension:ActivityLog

The ActivityLog extension allows system administrators to set up logging for arbitrary hooks. These log messages are currently sent to the main Log page at Special:Log.

Installation

  • Download and place the file(s) in a directory called ActivityLog in your extensions/ folder
  • Add the following line to your LocalSettings.php
wfLoadExtension('ActivityLog');

Usage

$wgActivityLogHooksToWatch is an associative array that configures how ActivityLog will log MediaWiki events.

$wgActivityLogHooksToWatch['ArticleViewHeader'] = true;
// output: 22:55, 1 July 2020 ArticleViewHeader

...

$wgActivityLogHooksToWatch['ArticleViewHeader'] = 'example string'
// output: 22:56, 1 July 2020 example string

// callback is invoked with hook arguments ($article, $outputDone, $pcache in this case)
$wgActivityLogHooksToWatch['ArticleViewHeader'] = function ($article) {
    // callback returns an array with the user (User), target (Title), a messageKey (String),
    // following any additional parameters you might want that you can reference in the message
    return array($article->getContext()->getUser(), $article->getTitle(), $messageKey,
        $_SERVER['HTTP_REFERER']);
};
// output: 22:51, 1 July 2020 (link to user) (talk|contribs) visited (link to page)

For the $messageKey above, you'll need to include your own i18n file and let MediaWiki know about it. This can be done in the LocalSettings with something like:

$wgMessagesDirs['ActivityLogConfiguration'] = 'ActivityLogConfiguration/i18n';

You can read more about what those pages look like on the MediaWiki Localisation page.

A listing of all the hooks can be found at: https://www.mediawiki.org/wiki/Manual:Hooks

Internationalization

Currently only has support for English.