Drupal is a registered trademark of Dries Buytaert
cms 2.1.0 Update released for Drupal core (2.1.0)! menu_link_attributes 8.x-1.7 Minor update available for module menu_link_attributes (8.x-1.7). ai 1.2.13 Minor update available for module ai (1.2.13). ai 1.3.2 Minor update available for module ai (1.3.2). moderated_content_bulk_publish 2.0.51 Minor update available for module moderated_content_bulk_publish (2.0.51). moderated_content_bulk_publish 2.0.50 Minor update available for module moderated_content_bulk_publish (2.0.50). editoria11y 2.2.21 Minor update available for module editoria11y (2.2.21). eca 3.1.0 Minor update available for module eca (3.1.0). sophron 3.1.1 Minor update available for module sophron (3.1.1). ai 1.3.1 Minor update available for module ai (1.3.1). seven 2.0.0-beta6 New beta version released for theme seven (2.0.0-beta6). seven 1.0.1-beta1 First beta version released for theme seven (1.0.1-beta1). miniorange_saml 3.1.4 Minor update available for module miniorange_saml (3.1.4). eca_tamper 2.0.10 Minor update available for module eca_tamper (2.0.10). modeler_api 1.1.1 Minor update available for module modeler_api (1.1.1). turnstile 1.1.26 Minor update available for module turnstile (1.1.26). email_tfa 2.0.8 Minor update available for module email_tfa (2.0.8). paragraphs_entity_embed 4.0.0 Major update available for module paragraphs_entity_embed (4.0.0). bootstrap_italia 2.17.4 Minor update available for theme bootstrap_italia (2.17.4). bootstrap_italia 2.17.6 Minor update available for theme bootstrap_italia (2.17.6).

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.

Activity

Total releases
2
First release
Apr 2026
Latest release
16 hours ago
Release cadence
0 days
Stability
0% stable

Releases

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