Skip to main content
drupalreleases
Release: Cms 2.2.3 — Update released for Drupal core (2.2.3)! Release: Easy Breadcrumb 2.0.11 — Minor update available for module easy_breadcrumb (2.0.11). Release: Bootstrap 8.x-3.42 — Minor update available for theme bootstrap (8.x-3.42). Release: Editoria11y Accessibility Checker 3.0.10 — Minor update available for module editoria11y (3.0.10). Release: Editoria11y Accessibility Checker 2.2.24 — Minor update available for module editoria11y (2.2.24). Release: Leaflet 10.4.13 — Minor update available for module leaflet (10.4.13). Release: Flag 5.1.1 — Minor update available for module flag (5.1.1). Release: MCP Sentinel 2.33.0 — Minor update available for module mcp_sentinel (2.33.0). Module Revived: Bootstrap 8.x-3.41 — Theme bootstrap updated after 6 months of inactivity (8.x-3.41). Security Coverage: Component Library — Module component_library now has official Drupal security advisory coverage.

This module enhances Drupal's error logging by visually displaying nested exceptions in a tree format. It combines the backtraces of the current and any previous exceptions into a clear, hierarchical structure, making it easier to understand the root cause of complex errors.

The module enhances log messages to reveal previous exceptions in a nice graphical format.

It attempts to solve for #3582388: Error::logException() should log previous exceptions.

The backtraces of the current exception and all previous exceptions are combined into a visual tree structure.

Features

The module decorates existing loggers to alter the messages.
Whenever a message was logged with `Error::logException()`, it replaces the `@backtrace_string` placeholder with a tree structure like this:

(The line formatters can be swapped out to show methods, classes or other things.)

 x DomainException
 | Failed to purchase the product.
 |
 | x Caused by: EntityStorageException
 | | Failed to save the entity.
 | |
 | | x Caused by: DatabaseException
 | | | Duplicate primary key.
 | | |
 | | * path/to/Database.php:384
 | | * path/to/InsertQuery.php:123
 | |/
 | * path/to/EntityStorage.php:715
 | * path/to/Entity.php:33
 |/
 * path/to/Shop.php:444
 * index.php:20

Post-Installation

Just enable the module, and the behavior will apply to any logger.
(Not tested with monolog module yet, try for yourself)

Stability?

There will be breaking API changes while this is a sandbox module.
I might rename classes, or even the entire module.

Depends on

Dependencies of the latest stable release

No dependencies recorded for this project.

Required by

Tracked projects that depend on this one

No tracked projects depend on this one yet.

Activity

Tracked releases
2
Tracked since
Apr 2026
Latest release
6 months ago
Releases (12 mo)
2 ▲ from 0
Maintenance
Slowing

Releases

Version Type Core Release date
1.0.x-dev Dev 11 Apr 3, 2026
1.0.0-alpha1 Pre-release 11 Apr 3, 2026