Directory / plugin
Honeylog
v1.0.2 · by secondbreakfastio
Honeylog batches frontend requests into a JSON queue and flushes them to Honeylog.
About this plugin
Honeylog WordPress Plugin
Multi-file WordPress plugin that batches frontend requests into a JSON queue and flushes to Honeylog.
This client targets self-hosted and conventional managed WordPress. It is not
the complete integration for WordPress VIP, where edge cache hits do not execute
PHP and the uploads filesystem is not a durable local queue. Use
clients/wordpress-vip-s3 for VIP.
Behavior
- Tracks HTML/XHTML frontend responses regardless of the request
Acceptheader, plus.xmland.txtURLs (excludes wp-admin pages). - Keeps frontend responses without an explicit Content-Type, including redirects.
- Writes each event to a local NDJSON queue file.
- Serializes queue writes and rotation using a blocking filesystem lock on local storage.
- Schedules a flush every 60 seconds through WP-Cron; actual execution depends on the cron runner.
- Sends queued events in batches of up to 100.
- Warns administrators when automatic WP-Cron execution is disabled.
Plugin Files
honeylog-ingestion.php: bootstrap and WordPress hooksincludes/honeylog-constants.php: constants + option sanitizersincludes/honeylog-batching-utils.php: queue file lock, enqueue/snapshot/requeue/flushincludes/honeylog-request-utils.php: request capture + HTTP batch senderincludes/honeylog-settings.php: admin settings pageincludes/honeylog-debug.php: persistent debug log + last status/error helpers
Settings
Go to Settings -> Honeylog:
TokenSite Domain(optional)
The ingestion endpoint is fixed to https://api.honeylog.io/events.
Debugging
Debug log is written to:
wp-content/uploads/honeylog-ingestion/debug.logwhen available- fallback:
wp-content/honeylog-ingestion-debug.log
Reliable scheduling and cache coverage
On low-traffic or cached sites, configure a system cron to run due WordPress
cron events every minute. The 60-second schedule is not a delivery deadline.
See docs/clients/wordpress-installation.md for a WP-CLI example.
Requests served entirely by a page cache or CDN without loading the plugin
cannot be captured; use server/CDN log ingestion for those visits.
The queue requires a writable local filesystem with working flock support.