Simple History is a WordPress audit log plugin that logs various things that occur in WordPress and then presents those events in a very nice GUI. It's great way to view user activity and keep an eye on what the admin users of a website are doing.
Download from WordPress.org:
https://wordpress.org/plugins/simple-history/
This screenshot show the log view + it also shows the filter function in use: the log only shows event that are of type post and pages and media (i.e. images & other uploads), and only events initiated by a specific user.
Simple History uses the log levels specified in the PHP PSR-3 standard.
Each logged event can include useful rich formatted extra information. For example: a plugin install can contain author info and a the url to the plugin, and an uploaded image can contain a thumbnail of the image.
Developers can easily log their own things using a simple API:
<?php
// This is the easiest and safest way to add messages to the log
// If the plugin is disabled this way will not generate in any error
apply_filters("simple_history_log", "This is a logged message");
// Or with some context and with log level debug:
apply_filters(
'simple_history_log',
'My message about something',
[
'debugThing' => $myThingThatIWantIncludedInTheLoggedEvent,
'anotherThing' => $anotherThing
],
'debug'
);
// Or just debug a message quickly
apply_filters('simple_history_log_debug', 'My debug message');
// You can also use functions/methods to add events to the log
SimpleLogger()->info("This is a message sent to the log");
// Add events of different severity
SimpleLogger()->info("User admin edited page 'About our company'");
SimpleLogger()->warning("User 'Jessie' deleted user 'Kim'");
SimpleLogger()->debug("Ok, cron job is running!");
You will find more examples in the examples.php file.