Debug Log Manager allows you to:
- Create the debug.log file for you in a non-default location with a custom file name for enhanced security.
- Copy the content of the default / existing debug.log file into the custom debug.log file, and delete the default / existing debug.log file. So there is continuation in logging and enhanced security going forward.
- Parse the debug.log file and view distinct errors and when they last occurred, which is better than looking at the raw log file (potentially) full of repetitive errors.
- Quickly find and filter more specific errors for your debugging work.
- Make error details easier to read by identifying error source (core / plugin / theme) and separating file path and line number.
- Easily view files where PHP errors occurred. This includes WordPress core, plugin and theme files.
- Enable auto-refresh to automatically load new log entries. No need to manually reload the browser tab, or to
tail -fthe log file on the command line.
- Easily clear the debug.log file to save disk space and more easily observe newly occurring errors on your site.
- Show an indicator on the admin bar when error logging is enabled.
- Add a dashboard widget showing the latest errors logged.
error_log()to output error info into your debug log. e.g.
error_log( $error_message )for simple, string-based error message, or
error_log( json_encode( $error ) )when inspecting a more complex error info, e.g. array or object.
A simpler and more compact version of Debug Log Manager is included as part of the System Dashboard plugin, should you prefer a single plugin that does more.
What Users Say
“This is a great plugin for dev especially for people who tinker in the code.” ~PK Son
“I have used a couple of other logger plugins and this is by far the best one.” ~Brian Henry
“Another massive time-saving tool.“ ~Jeff Starr
- A nice review would be great!
- Give feedback and help improve future versions.
- Help translate into your language.
- Github repo to contribute code.
- Sponsor my work.
Check These Out Too
- System Dashboard: Central dashboard to monitor various WordPress components, processes and data, including the server.
- Variable Inspector: Inspect PHP variables on a central dashboard in wp-admin for convenient debugging.
- Code Explorer: Fast directory explorer and file/code viewer with syntax highlighting.
- Database Admin: Securely manage your WordPress website’s database with a clean and user-friendly interface based on a custom-themed Adminer app. Only available on Github.
- Admin and Site Enhancements helps you to easily enhance various admin workflows and site aspects while replacing multiple plugins doing it.
- Flexible Scroll Top and Floating Share Buttons is a lightweight combo with minimalist UI.
- WordPress Newsboard: The latest news, articles, podcasts and videos from 100+ WordPress-focused sources.
Will this work with the managed WordPress hosting I am on?
Maybe. It’s been tested with Kinsta and GridPane (with Secure Debug turned off). If you find it’s not working with your managed host, please post in the support forum about the issue / error you encounter. I may ask for a test site that I can work with.
How was this plugin built?
Учасники та розробники
“Debug Log Manager” — проект з відкритим вихідним кодом. В розвиток плагіну внесли свій вклад наступні учасники:Учасники
- Improved the randomness of the debug log file name for improved security.
- Improved parsing of log entries with more than one set of bracketed info, e.g. [timestamp] [WARNING] detail info about error. It was parsed as “No error message specified…”. Props to @azzuwayed for providing the one important line of code with the right preg_replace regex pattern to fix that. I find people who can churn out regex patterns as needed to have a special superpower!
- [SECURITY] Improved security of ajax call to clear log file. Authorized only for site admins and secured to prevent CSRF with nonce. Props to Dmitrii Ignatyev again for reminding to check on this one as well.
- [IMPORTANT][SECURITY] Fixed a security issue where the debug log manager directory can be opened in the browser allowing visitors to see and download the debug log file which may contain sensitive information. Once you update to v2.2.1, please visit the debug log page at least once. This will create an empty index.php file in the DLM directory and prevent the issue. This vulnerability was responsibly disclosed by Dmitrii Ignatyev from CleanTalk inc. on November 2, 2023. Apologies if this took me a while to get around to as I was fully occupied with the launch of ASE Pro.
- Hide dashboard widget and admin bar icon for non-administrator users
- Stop public.js from loading on the frontend if logging is disabled
- Add link to WordPress Newsboard in footer
- [SPONSORSHIP] If you like or have benefited from this plugin in your personal project(s), paid work and/or client site(s), please kindly consider sponsoring the ongoing development and maintenance of this plugin (and my other plugins) from as little as USD 1 / month. Thank you!
- Correctly parse the content of entries added via the
error_log()function. Instead of
print_r(), please use
json_encode(), if you’re trying to output a PHP
$variablecontaining an array or object into the debug log. e.g.
error_log( json_encode( $variable_name ) ). Props to @guyinpv for reporting the issue.
- WordPres core, plugin or theme files where PHP errors occurred can now be easily viewed by simply clicking on the file path in each error entry. This is done using core’s plugin/theme editor (modified to load in view-only mode) and the wordpress-develop repo on Github for core files.
- Added a button to disable plugin/theme editor below the error entries table. This is for when you’re done with debugging, i.e. you’ve disabled error logging and cleared the debug log file, and wants to keep things secure.
- Fixed styling issue for external link dashicon in entries when datatable is auto-refreshed.
- Detect PHP Exception error type and add it to the entries table filter.
- Make error entries easier to read by identifying error source (core / plugin / theme) and separating file path and line number.
- Fix for missing wp_date() function for WordPress before v5.3.
- Suppress all admin notices when viewing log entries. Thanks to a nice patch from @brianhenryie.
- Improve inline comments for some of the code.
- Fix wrong reference to old app.js. Change to admin.js.
- Smooth out the behaviour of scroll-to-fix-on-top the position of DLM page’s header.
- Change default number of entries to show on dashboard widget from 10 to 5.
- Fix for syntax error as reported by @michel-jongbloed.
- CSS fix for dashboard widget to ensure error messages wrap properly, i.e. not overflow the widget container.
- CSS fixes for dashboard widget footer as well as main page header and footer sizing.
- Add dashboard widget showing the latest errors logged, the error logging status and a link to the Debug Log Manager page.
- Internationalize the plugin. i.e. make it ready for localization (translation into various languages). Do help make Debug Log Manager available in your language. Thank you!
- Fix PHP Warning issue: “Trying to access array offset on value of type bool” reported by @brianhenryie and @hogash.
- Further fixes (HTML, CSS, JS) to ensure error details are properly wrapped inside the data table and not cause the table to overflow the page width. This includes scenarios when auto-refresh is enabled and pagination is in use.
- CSS fix to ensure error details are properly wrapped inside the data table and not cause the table to overflow the page width.
- Improve detection of anchor text in wp-config.php for the WP_Config_Transformer class. Make sure toggling of WP_DEBUG works for wp-config.php that uses either “Happy publishing” or “Happy blogging”.
- Add admin bar status icon. Will only show up if error logging is enabled and on pages other than the Debug Log Manager main page, including the front end.
- Improve log parser for handling error messages that contain the # and [ characters, e.g. “Argument #1” or “[internal function]”
- Disable auto-refresh when pagination is used. Otherwise, table will always go back to the first page.
- Add Error Type dropdown filter.
- Improve copy around error types for simplicity and clarity.
- Fix an issue where AJAX calls for the auto-refresh feature won’t properly stop in multiple scenarios of clicking the Error Logging and/or Auto-Refresh toggles.
- Fix bugs around the auto-refresh feature. Disabling auto-refresh works only on the toggle and wp_option entry but not on the actual ajax calls. If auto-refresh is enabled, it only worked on clicking the toggle but not on page load. Both issues are fixed.
- Implement toast notifications on various action completions, e.g. clearing log file.
- Change date format to M j, Y – H:i:s, e.g. Dec 31, 2021 – 20:06:34.
- Implment auto-refresh feature that will automatically load the latest error entries every 5 seconds.
- Fix detection of existing debug log file, if there is one, so it is copied correctly into DLM’s debug log file.
- Auto update entries table when logging is enabled, including when copying entries from existing debug.log file.
- Code refactor: added autoloader of plugin’s PHP classes.
- Improve implementation of WP PHP Coding Standards across the codebase.
- Improve variable sanitization and escaping.
- Set initial data table sort based on the # column so that Last Occurence column is properly sorted according to the timestamp.
- Add get_value() method to WP_Config_Transformer class to work with existing debug log constants in wp-config.php.
- Enable $options argument for the add() and update() method in WP_Config_Transformer to ensure formatting of debug log constants is correct in wp-config.php.
- Refactor code for better organization and maintainability.
- Improve plugin description / README.md.
- Initial stable release.