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). 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). geofield_map 11.1.8 Minor update available for module geofield_map (11.1.8).

grouper

3 sites No security coverage
View on drupal.org
Grouper - Drupal Log Analysis Made Simple

"Drupal's built-in dblog viewer makes you consume the raw fire hose of data. Grouper lets you sip just the data you are looking for through a straw."

The Problem

Your Drupal site's watchdog log contains thousands of entries. A single PHP error might appear 10,000 timesโ€”once for every page view that triggered it. Finding the actual problems buried in this noise is like finding needles in a haystack.

Without Grouper:

  • 10,000 log entries for the same error
  • 200+ pages of scrolling
  • No way to see which errors matter most
  • Hours wasted on repetitive investigation

The Solution

Grouper transforms your chaotic error log into an organized, actionable dashboard. Similar messages are automatically grouped into "Issues," ranked by frequency, so you instantly see what matters most.

With Grouper:

  • 10,000 identical errors โ†’ 1 Issue with count "10,000"
  • Instant visibility into your most critical problems
  • One-click drill-down to see when, where, and who
  • Minutes to identify and fix issues

Key Features

๐Ÿ“Š Smart Grouping

Grouper intelligently consolidates similar log messages. PHP errors are grouped by their actual error signature, not just the raw message textโ€”so errors from different pages but the same root cause appear together.

๐Ÿ” Multiple Analysis Views

View What It Shows PHP Summary PHP errors grouped by issue, sorted by frequency PHP Detail All occurrences of a specific error with timestamps, URLs, IPs Other Summary Non-PHP messages (access denied, page not found, etc.) Distribution Breakdown of all log types with percentages Severity Errors organized by severity level Module PHP errors grouped by originating module Pages Which pages generate the most errors People Which users trigger the most errors Host Errors by IP address (find bad bots!)

๐Ÿ–ฅ๏ธ Command-Line Interface (NEW in 7.0)

Analyze logs without even opening a browser:

<span class="hljs-meta"># See top PHP errors</span>
drush grouper:php-summary --limit=<span class="hljs-number">10</span>

<span class="hljs-meta"># Drill into a specific issue</span>
drush grouper:php-detail <span class="hljs-number">12345</span>

<span class="hljs-meta"># See all log types</span>
drush grouper:types

<span class="hljs-meta"># Filter by severity (errors only)</span>
drush gps --severity=<span class="hljs-number">3</span>

Perfect for:

  • SSH-only server access
  • Automated monitoring scripts
  • CI/CD pipelines
  • Quick command-line troubleshooting

๐Ÿค– AI Integration (NEW in 7.0)

The Grouper MCP Tools submodule enables AI assistants like Claude to analyze your logs:

<span class="hljs-type">You</span>: <span class="hljs-comment">"What are the main errors on my site?"</span>

<span class="hljs-type">Claude</span>: [<span class="hljs-type">Analyzes</span> logs via <span class="hljs-type">MCP</span>]
        <span class="hljs-comment">"Your top issue is a TypeError in DateTimePlus.php
         occurring 10,100 times. It's affecting the /stories
         pages. Would you like me to show the details?"</span>

Requires: Tool API + MCP Server modules

๐Ÿท๏ธ Markers for Debugging

Create timestamped markers in your log to track changes:

drush grouper:marker <span class="hljs-string">"Before module update"</span>
# ... make changes ...
drush grouper:marker <span class="hljs-string">"After module update"</span>

Then filter your log view to see only what happened between markers.

๐Ÿงน Log Maintenance

Selectively trim your log without losing everything:

# Delete old entries (before wid <span class="hljs-number">50000</span>)
drush watchdog-<span class="hljs-built_in">trim</span>-before <span class="hljs-number">50000</span>

# Delete entries <span class="hljs-keyword">in</span> a <span class="hljs-built_in">range</span>
drush watchdog-<span class="hljs-built_in">trim</span>-<span class="hljs-built_in">range</span> <span class="hljs-number">10000</span> <span class="hljs-number">20000</span>

๐Ÿšซ Message Filtering (Submodule)

The Grouper Message Filter submodule prevents specified messages from being logged at allโ€”reducing database bloat from known, unfixable issues.

Screenshots

PHP Error Summary


Instantly see your most frequent PHP errors ranked by occurrence count

PHP Error Detail


Drill down to see every occurrence with timestamp, URL, and user info

Distribution Summary


Understand the composition of your entire log at a glance

Pages Summary


Identify which pages generate the most log entries

Installation

composer <span class="hljs-built_in">require</span> <span class="hljs-string">'drupal/grouper:^7.0'</span>
drush en grouper

Optional submodules:

<span class="hljs-meta"># Message filtering</span>
drush en grouper_message_filter

<span class="hljs-meta"># AI integration (requires Tool API)</span>
composer require drupal/tool
drush en grouper_mcp

Requirements

  • Drupal: 10.x, 11.x, or 12.x
  • Dependencies: Database Logging (dblog) module
  • For AI features: Tool API module, MCP Server module (optional)

Use Cases

Site Builders

  • Quickly identify errors introduced by new modules
  • Find pages that need attention
  • Monitor site health at a glance

Developers

  • Debug PHP errors efficiently
  • Track down intermittent issues
  • Use markers to isolate changes

DevOps

  • CLI tools for automated monitoring
  • Integration with alerting systems
  • Log maintenance without full truncation

AI-Assisted Development

  • Let Claude analyze your logs
  • Natural language queries about site health
  • Automated issue identification

Why Grouper?

Feature dblog Grouper View individual entries โœ“ โœ“ Group similar errors โœ— โœ“ Sort by frequency โœ— โœ“ CLI interface โœ— โœ“ AI integration โœ— โœ“ Markers for debugging โœ— โœ“ Selective log trimming โœ— โœ“ Message filtering โœ— โœ“

Maintainer

Seth Snyder - https://www.drupal.org/u/seth-snyder

Grouper is not covered by Drupal's security advisory policy. Use at your own discretion.

Activity

Total releases
1
First release
Jan 2026
Latest release
2 months ago
Release cadence
Stability
100% stable

Releases

Version Type Release date
8.x-7.0 Stable Jan 19, 2026