In order to satisfy the access logging, reporting, and revoking requirements detailed in {T292755}, we need to log when certain events occur to IP Info's logging table (see {T263756}).
==== AC
* When the following events occur, we should log a line to the logging table:
From T263756#7405169:
> * user enables their own access
> * user disable their own access
> * user gains "basic" access
> * user gains "full" access
> * user has (all? some?) access revoked
> * user has (all? some?) access re-enabled (?)
From T263756#7407907:
> * User is granted the right to enable the tool - the ipinfo right
> * User has the right to enable the tool revoked
==== Open questions
1. Are there any events missing above?
==== Notes
1. https://gerrit.wikimedia.org/r/c/mediawiki/extensions/IPInfo/+/736267 adds an IPInfo log to Special:Log
2. You can read about how to add an entry to that log here: https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Logging_to_Special:Log
```lang=php
// tl;dr:
$ip = "xxx.xxx.xxx.xxx";
$target = TitleValue::tryNew( NS_USER, $ip );
$logEntry = new ManualLogEntry( "ipinfo", "foo" ); // Log action "foo" in the "ipinfo" log
$logEntry->setPerformer( $user );
$logEntry->setTarget( $target );
$logEntry->setComment( 'Reason for performing "foo" action.' );
$id = $logEntry->insert();
```