Understanding Moodle’s logging framework
Moodle has a powerful built-in logging framework that is, as expected, fully customizable and extensible. The idea behind the logging mechanism is as follows:
- A user performs an action that triggers an Event. An example is a student who posts a reply on a forum.
- The Log manager entity monitors the event and decides whether it will be logged or ignored. Site-wide log manager settings determine this behavior.
- The log manager sends the data to the active Log store plugin, which filters or enriches the information. The passed-on data might be augmented with an IP address and a timestamp.
- The data is then written to the configured Log store.
The top half of the diagram shows this logging workflow:
Figure 12.14 – From events to reports
Now, let’s take a look at what happens when a user requests a report, which is represented in the bottom half of the diagram:
- The...