Drupal is a registered trademark of Dries Buytaert
drupal 11.3.7 Update released for Drupal core (11.3.7)! drupal 11.2.11 Update released for Drupal core (11.2.11)! drupal 10.6.7 Update released for Drupal core (10.6.7)! drupal 10.5.9 Update released for Drupal core (10.5.9)! cms 2.1.1 Update released for Drupal core (2.1.1)! drupal 11.3.6 Update released for Drupal core (11.3.6)! drupal 10.6.6 Update released for Drupal core (10.6.6)! cms 2.1.0 Update released for Drupal core (2.1.0)! bootstrap 8.x-3.40 Minor update available for theme bootstrap (8.x-3.40). menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). leaflet 10.4.5 Minor update available for module leaflet (10.4.5). eca 3.1.1 Minor update available for module eca (3.1.1). layout_paragraphs 2.1.3 Minor update available for module layout_paragraphs (2.1.3). ai 1.3.3 Minor update available for module ai (1.3.3). ai 1.2.14 Minor update available for module ai (1.2.14). node_revision_delete 2.0.3 Minor update available for module node_revision_delete (2.0.3). moderated_content_bulk_publish 2.0.52 Minor update available for module moderated_content_bulk_publish (2.0.52). klaro 3.0.10 Minor update available for module klaro (3.0.10). klaro 3.0.9 Minor update available for module klaro (3.0.9). layout_paragraphs 2.1.2 Minor update available for module layout_paragraphs (2.1.2).

cevlogger

No security coverage
View on drupal.org

Introduction

Custom Event Logger is a simple Drupal module that lets you store custom log messages in your own database table without enabling core logging. It’s ideal for tracking errors and events from your custom code in production safely.

Features

Custom Event Logger provides a developer-controlled logging system separate from Drupal core logging.

Core functionality:

Log messages programmatically using a dedicated service
Store logs in a separate database table (cevlogger_logs)
View logs via a built-in admin UI

Key features:

Lightweight and production-safe (no dependency on dblog)
Fully explicit logging — only logs what you send
Categorization by:
Module name
Log type (error, warning, info, etc.)
Paginated admin interface for log review
Clean service-based architecture (cevlogger.logger)

When and why to use this module:

When dblog is disabled in production environments
When you need targeted logging instead of system-wide logs
When debugging API integrations or external services
When tracking business-critical workflows

Use cases:

Logging failed API responses (e.g., 500/503 errors)
Monitoring third-party service integrations
Capturing custom validation or processing errors
Debugging production-only issues without verbose logging

Post-Installation

After enabling the module:

Run database updates:

drush updb -y

This creates the cevlogger_logs table.

No configuration page is required.
Start logging immediately using the service:
Via dependency injection (recommended)
Or via \Drupal::service() in hooks

View logs at:

/admin/reports/cevlogger

Important notes:

This module does not automatically log anything
You must explicitly call the logger service in your code
No UI configuration is needed — it is developer-driven

Additional Requirements

Drupal 10 or Drupal 11
No external libraries or APIs required
No dependency on Drupal core logging modules (dblog, syslog)

While not required, the following modules may complement usage:

Database Logging (dblog) – for full system logs alongside custom logs
Syslog – for centralized server-level logging
Custom monitoring tools (e.g., external log aggregators)

Similar projects

Database Logging (dblog)
Logs all watchdog events automatically
Can introduce overhead in production
Less control over what gets logged
Syslog
Sends logs to server-level logging systems
Requires server configuration
Not suitable for quick in-app inspection

What makes Custom Event Logger different:

Fully opt-in logging model
Zero noise — only logs what you explicitly send
Designed for custom application-level events, not system-wide logging
Simple, developer-first API

Supporting this Module

If you find this module useful, consider supporting its development by:

Reporting issues
Contributing patches
Sharing feedback with the maintainer

Community Documentation

Additional resources can include:

Code examples and usage snippets (README)
Drush-based testing examples
Demo environments (e.g., DrupalPod)
Additional Notes
This module is not a replacement for Drupal core logging
Best suited for targeted, business-specific logging needs
Keeps production environments clean while still enabling visibility into critical events

Activity

Total releases
1
First release
Apr 2026
Latest release
19 hours ago
Release cadence
Stability
0% stable

Releases

Version Type Release date
1.x-dev Dev Apr 18, 2026