Extension:AbuseFilter/abuse filter log table

afl_id
Primary key

afl_filter
Number of the filter triggered.

afl_user
User ID of the author of the action.

afl_user_text
User name of the author of the action.

afl_ip
The IP address user was using when the filter was triggered.

afl_action
The action which triggered the filter.

Values can include the following values: ,,  ,  ,  ,  ,

afl_actions
What the filter made about the action, comma-imploded. Example: disallow,tag

afl_var_dump
Value of the variables of the filter that matched the edit, previously stored as a serialized PHP array.

If the content is  followed by a number, then the content is not stored here but in the text>Special:MyLanguage/Manual:Text table|text table, and the number is the   identifier of that table.

This is the default since MediaWiki 1.19.

If externalstorage>Special:MyLanguage/Manual:External Storage|external storage is enabled, content will be in the default external store.

Prior to MediaWiki 1.21, instead of a native PHP array, an instance of AbuseFilterVariableHolder class was being serialized. To differentiate this, the   flag is added to the text table on new entries.

Example: stored-text:66019837

afl_timestamp
Typical MediaWiki timestamp>Special:MyLanguage/Manual:Timestamp|timestamp of the action filtered and hence of the abuse log entry about it.

afl_namespace
Target Namespace of the filtered action.

afl_title
Target title of the filter action.

afl_wiki
If global abuse filters are in use, this field is populated on the central DB and holds the ID of the wiki where the filter was triggered.

Same format as  .

afl_deleted
Whether the AbuseLog entry was suppressed.

  if suppressed,   otherwise.

afl_patrolled_by
Unused.

afl_rev_id
Foreign key to  , only populated for saved edits in order to show a diff link.

Schema
mysql> describe abuse_filter_log; +--+-+--+-+-++ +--+-+--+-+-++ +--+-+--+-+-++
 * Field           | Type                | Null | Key | Default | Extra          |
 * afl_id          | bigint(20) unsigned | NO   | PRI | NULL    | auto_increment |
 * afl_filter      | varbinary(64)       | NO   | MUL | NULL    |                |
 * afl_user        | bigint(20) unsigned | NO   | MUL | NULL    |                |
 * afl_user_text   | varbinary(255)      | NO   |     | NULL    |                |
 * afl_ip          | varbinary(255)      | NO   | MUL | NULL    |                |
 * afl_action      | varbinary(255)      | NO   |     | NULL    |                |
 * afl_actions     | varbinary(255)      | NO   |     | NULL    |                |
 * afl_var_dump    | blob                | NO   |     | NULL    |                |
 * afl_timestamp   | binary(14)          | NO   | MUL | NULL    |                |
 * afl_namespace   | tinyint(4)          | NO   | MUL | NULL    |                |
 * afl_title       | varbinary(255)      | NO   |     | NULL    |                |
 * afl_wiki        | varbinary(64)       | YES  | MUL | NULL    |                |
 * afl_deleted     | tinyint(1)          | NO   |     | 0       |                |
 * afl_patrolled_by | int(10) unsigned   | YES  |     | NULL    |                |
 * afl_rev_id      | int(10) unsigned    | YES  | MUL | NULL    |                |

Example
 MariaDB> SELECT afl_id, afl_filter, afl_user, afl_user_text, afl_ip, afl_action, afl_actions, afl_var_dump, afl_timestamp, afl_namespace, afl_title, afl_wiki, afl_deleted, afl_patrolled_by, afl_rev_id FROM abuse_filter_log ORDER BY afl_id DESC LIMIT 1; +++--++++-+--++---+---+--+-+--+++ +++--++++-+--++---+---+--+-+--+++ +++--++++-+--++---+---+--+-+--+++ 1 row in set (0.01 sec)
 * afl_id | afl_filter | afl_user | afl_user_text | afl_ip | afl_action | afl_actions | afl_var_dump         | afl_timestamp  | afl_namespace | afl_title | afl_wiki | afl_deleted | afl_patrolled_by | afl_rev_id |
 * 358580 | 9         |        0 | 151.54.106.177 |   NULL | edit       | tag         | stored-text:66020782 | 20140601174723 |             0 | 24:61     | NULL     |           0 |                0 |       NULL |