Learn how to enable verbose error logging for better backtracing. Our Drupal Support team is here to answer queries and concerns.
Enable Verbose Error Logging for Better Backtracing
If you are working on a Drupal website, you are likely to encounter unexpected errors occasionally. They can bring your workflow to a halt. One common error message we might run into is:
The website encountered an unexpected error. Please try again later.
This generic error message does not give us much to go on. To dig deeper and effectively troubleshoot the issue, developers often enable verbose error logging. It is a powerful tool for detailed backtracing and debugging.
Today, we will explore how to enable verbose error logging in Drupal through the GUI, Drush, and configuration files, as well as best practices to follow when doing so.
An Overview:
Why Enable Verbose Error Logging?
Verbose error logging allows our application to generate detailed logs, including:
- Function call traces
- Variable values at different points in execution
- Warnings and notices that might not appear in standard logs
These logs are handy when it comes to identifying the root cause of errors quickly and efficiently, especially during development or debugging complex functionality.
If you’re working with custom themes or frontend frameworks like Emulsify in Drupal, verbose logging can help pinpoint integration or rendering issues early on.
Step-by-Step: How to Enable Verbose Error Logging in Drupal
Via Drupal Admin Interface
- First, go to Administration > Configuration > Development > Logging and error.
Alternatively, go directly to:
/admin/config/development/logging
- In the “Error messages to display” dropdown, we will find four options:
- None – No messages will be shown
- Errors and warnings – Partial information
- All messages – More comprehensive logging
- All messages, with backtrace information (verbose) – Most detailed logging
Select “All messages, with backtrace information” to enable verbose logging.
- Then, click Save configuration.
Verbose logging can be especially helpful when you’re trying to assign roles to users programmatically in Drupal 8, where silent failures can often occur without visible errors.
Via Drush
If you are comfortable with the command line, Drush offers a quick and effective method:
drush config:set system.logging error_level verbose -y
This command sets the logging level to verbose, enabling detailed error and backtrace information in logs.
Drush is also a great companion tool for automation and backend management in broader Drupal web development projects.
Via the Settings File
We can also enable verbose error logging through configuration files, which is helpful for local development setups.
- Copy the example file:
cp sites/example.settings.local.php sites/default/settings.local.php
- Then, make sure `settings.local.php` is loaded by uncommenting the relevant include line in `settings.php`.
- Now, add the following line to `settings.local.php`:
$config['system.logging']['error_level'] = 'verbose';
We can also add the same configuration directly to the `settings.php` file if we prefer:
$config['system.logging']['error_level'] = 'verbose';
Bonus Debugging Tip
To see runtime PHP errors directly in the browser, enable these settings in the `settings.php` or `settings.local.php`:
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);
Never enable these settings on a production server. Doing so could expose sensitive information to visitors.
You might also consider hiding unnecessary warnings, such as deprecation messages, by following best practices outlined in our guide on hiding deprecated warnings in Drupal.
Best Practices for Verbose Logging
- Verbose logs can slow down the site and expose sensitive data. Keep them off in production.
- Implement log rotation to manage file sizes and prevent disk bloat.
- Use log viewers or debugging tools to sift through and analyze log data efficiently.
[Need assistance with a different issue? Our team is available 24/7.]
Conclusion
Enabling verbose error logging in Drupal is a key step when it comes to diagnosing issues and improving code quality during development.
In brief, our Support Experts demonstrated how to enable verbose error logging for better backtracing.
0 Comments