---
title: "Moodle Logstore Xapi"
description: "This plugin registers as a Moodle logstore, which means it sees the same event stream Moodle uses for its own logs, and translates the events it recognises into xAPI statements which it then posts to an LRS. The translation layer is a large map of per-event transformer functions — course viewed, quiz attempt submitted, assignment graded, forum post created and a few hundred more — and the map is a documented extension point, so adding your own event or reshaping an existing statement is a supported thing to do rather than a fork."
canonical_url: "https://scorm-tools.com/tools/moodle-logstore-xapi"
last_updated: "2026-10-31T10:22:02.645Z"
---

This plugin registers as a Moodle logstore, which means it sees the same event stream Moodle uses for its own logs, and translates the events it recognises into xAPI statements which it then posts to an LRS. The translation layer is a large map of per-event transformer functions — course viewed, quiz attempt submitted, assignment graded, forum post created and a few hundred more — and the map is a documented extension point, so adding your own event or reshaping an existing statement is a supported thing to do rather than a fork.

It is the default answer for anyone who needs Moodle activity in a learning record store without touching core. If you have bought an LRS and need Moodle to feed it, start here.

It is not a route to xAPI 2.0 (statements go out as 1.0.3), not a cmi5 implementation, and not a real-time pipe — dispatch runs on Moodle's scheduled task. The operational features are what distinguish it from a weekend script: failed statements are queued, inspectable and replayable, and historical events can be backfilled from before the plugin was installed.

One correction worth knowing: the widely circulated `xAPI-vle` URL now redirects. The repository lives under David Pesce's account and is actively maintained there, with commits this month against Moodle 5.2.
