{"id":367411,"date":"2026-09-25T13:36:19","date_gmt":"2026-09-25T13:36:19","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/error-monitoring-system\/"},"modified":"2026-09-30T09:24:03","modified_gmt":"2026-09-30T09:24:03","slug":"errorwatcher","status":"publish","type":"plugin","link":"https:\/\/szl.wordpress.org\/plugins\/errorwatcher\/","author":16315815,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.6","stable_tag":"1.0.6","tested":"7.1.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"ErrorWatcher","header_author":"IT Path Solutions","header_description":"A lightweight real-time PHP error, warning, notice, and deprecation monitor with a dedicated WordPress admin dashboard, smart deduplication, and automated email digests.","assets_banners_color":"011833","last_updated":"2026-09-30 09:24:03","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"https:\/\/www.itpathsolutions.com\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":105,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.5":{"tag":"1.0.5","author":"itpathsolutions","date":"2026-09-25 13:35:45","revision":3713119},"1.0.6":{"tag":"1.0.6","author":"itpathsolutions","date":"2026-09-30 09:24:03","revision":3720799}},"upgrade_notice":{"1.0.6":"<p>Added WordPress Admin Bar Quick-Status Badge and clarified front-end privacy in documentation.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3713119,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3713119,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256},"icon.svg":{"filename":"icon.svg","revision":3713119,"resolution":false,"location":"assets","locale":false}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3713119,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3713119,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.5","1.0.6"],"block_files":[],"assets_screenshots":{"Screenshot-1.PNG":{"filename":"Screenshot-1.PNG","revision":3713119,"resolution":"1","location":"assets","locale":"","width":1494,"height":885},"Screenshot-2.PNG":{"filename":"Screenshot-2.PNG","revision":3713119,"resolution":"2","location":"assets","locale":"","width":1475,"height":656},"Screenshot-3.PNG":{"filename":"Screenshot-3.PNG","revision":3713119,"resolution":"3","location":"assets","locale":"","width":1464,"height":726},"Screenshot-4.PNG":{"filename":"Screenshot-4.PNG","revision":3713119,"resolution":"4","location":"assets","locale":"","width":898,"height":895}},"screenshots":{"1":"General Monitoring Settings: Toggle backend PHP error monitoring and customize granular error levels to capture (Fatal, Recoverable, Warnings, Notices, Deprecated).","2":"Automated Email Digests: Schedule twice-daily automated error summary emails with attached log files and custom morning\/evening delivery hours.","3":"ErrorWatcher Dashboard: Real-time overview featuring summary metric cards (Total, Fatal Errors, Exceptions, Warnings, Notices, Deprecated) and filtered logs table.","4":"Error Diagnostics Drawer: Comprehensive error details with exact file location, line number, HTTP request context, interactive stack trace, and grouped sibling issues per file."}},"plugin_section":[],"plugin_tags":[94,2679,283634,14925,908],"plugin_category":[54,59],"plugin_contributors":[210907,171505],"plugin_business_model":[],"class_list":["post-367411","plugin","type-plugin","status-publish","hentry","plugin_tags-debug","plugin_tags-debugging","plugin_tags-debugmode","plugin_tags-error-log","plugin_tags-log","plugin_category-security-and-spam-protection","plugin_category-utilities-and-tools","plugin_contributors-itpathsolutions","plugin_contributors-parthsanghvi","plugin_committers-itpathsolutions"],"banners":{"banner":"https:\/\/ps.w.org\/errorwatcher\/assets\/banner-772x250.png?rev=3713119","banner_2x":"https:\/\/ps.w.org\/errorwatcher\/assets\/banner-1544x500.png?rev=3713119","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":"https:\/\/ps.w.org\/errorwatcher\/assets\/icon.svg?rev=3713119","icon":"https:\/\/ps.w.org\/errorwatcher\/assets\/icon.svg?rev=3713119","icon_2x":false,"generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/errorwatcher\/assets\/Screenshot-1.PNG?rev=3713119","caption":"General Monitoring Settings: Toggle backend PHP error monitoring and customize granular error levels to capture (Fatal, Recoverable, Warnings, Notices, Deprecated)."},{"src":"https:\/\/ps.w.org\/errorwatcher\/assets\/Screenshot-2.PNG?rev=3713119","caption":"Automated Email Digests: Schedule twice-daily automated error summary emails with attached log files and custom morning\/evening delivery hours."},{"src":"https:\/\/ps.w.org\/errorwatcher\/assets\/Screenshot-3.PNG?rev=3713119","caption":"ErrorWatcher Dashboard: Real-time overview featuring summary metric cards (Total, Fatal Errors, Exceptions, Warnings, Notices, Deprecated) and filtered logs table."},{"src":"https:\/\/ps.w.org\/errorwatcher\/assets\/Screenshot-4.PNG?rev=3713119","caption":"Error Diagnostics Drawer: Comprehensive error details with exact file location, line number, HTTP request context, interactive stack trace, and grouped sibling issues per file."}],"raw_content":"<!--section=description-->\n<p><strong>ErrorWatcher<\/strong> provides real-time monitoring of PHP errors, warnings, notices, and deprecated function calls with a clean, native dashboard to inspect and troubleshoot them without creating database bloat.<\/p>\n\n<p>Unlike manually inspecting large <code>debug.log<\/code> files on your server or modifying <code>wp-config.php<\/code>, ErrorWatcher captures runtime errors safely, stores them in a lightweight runtime file, and sends twice-daily summary email digests with <code>.txt<\/code> log attachments.<\/p>\n\n<p><strong>Zero Front-End Error Exposure:<\/strong> ErrorWatcher will not show any errors on the front side to site visitors. All errors, warnings, notices, and deprecations are intercepted silently in the background and listed exclusively in the WordPress back-end on a separate dashboard page.<\/p>\n\n<h3>Key Features<\/h3>\n\n<ul>\n<li><strong>WordPress-Native Admin Interface:<\/strong> View summary metric cards (Total, Fatal, Errors, Warnings, Notices, Deprecated) and real-time logs table.<\/li>\n<li><strong>No Front-End Errors Displayed:<\/strong> Does not show any errors on the front side. All issues are securely captured in the background and listed exclusively in the back-end on a separate dashboard page.<\/li>\n<li><strong>Admin Bar Quick-Status Badge:<\/strong> Real-time color-coded health badge and diagnostics dropdown in the WordPress admin bar for administrators.<\/li>\n<li><strong>Granular Error Capturing:<\/strong> Captures PHP Fatal Errors, Catchable Errors, Warnings, Notices, Deprecated warnings, User Errors, and Uncaught Exceptions.<\/li>\n<li><strong>Detailed Diagnostics Drawer:<\/strong> Inspect full error messages, stack traces, HTTP request method\/URL, user account context, client IP, and grouped sibling issues.<\/li>\n<li><strong>Smart File Clustering:<\/strong> Automatically groups multiple issues originating from the same file to prevent table clutter and streamline debugging.<\/li>\n<li><strong>Advanced Filtering &amp; Search:<\/strong> Filter by error severity\/type, search messages\/files\/URLs, or filter by custom date ranges (Today, 7 days, 30 days, or custom calendar dates).<\/li>\n<li><strong>Twice-Daily Email Reports:<\/strong> Automatically dispatches scheduled digests at custom morning and evening hours using WP-Cron with formatted HTML summary and attached <code>.txt<\/code> log file.<\/li>\n<li><strong>Automated Retention &amp; Pruning:<\/strong> Automatically prunes resolved errors when source files are modified and clears inactive logs older than 30 days via daily WP-Cron.<\/li>\n<li><strong>Export Capability:<\/strong> Export filtered error logs directly to CSV or formatted Text (.txt) files.<\/li>\n<li><strong>Minimal Overhead &amp; Performance-First:<\/strong> Uses server-side pagination, request-level error deduplication to prevent floods in loops, and zero frontend performance penalty.<\/li>\n<li><strong>Safe &amp; Non-Intrusive:<\/strong> Does not modify <code>wp-config.php<\/code> and does not turn on frontend error display.<\/li>\n<\/ul>\n\n<h3>Technical &amp; PHP Limitations Notice<\/h3>\n\n<ul>\n<li><strong>Runtime Error Handling:<\/strong> Captures runtime errors, warnings, notices, deprecations, and fatal shutdown errors during WordPress request execution.<\/li>\n<li><strong>Pre-Boot Compile\/Parse Errors:<\/strong> Fatal compile-time or syntax errors that occur before WordPress or the plugin loads (such as syntax errors inside <code>wp-config.php<\/code> or early <code>mu-plugins<\/code>) cannot be intercepted by PHP runtime error handlers.<\/li>\n<li><strong>Memory Limits:<\/strong> An emergency memory buffer is pre-allocated and released on shutdown to capture Out-of-Memory fatals when possible.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>errorwatcher<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install the ZIP file via <strong>Plugins &gt; Add New &gt; Upload Plugin<\/strong>.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen in WordPress.<\/li>\n<li>Navigate to <strong>ErrorWatcher<\/strong> in the WordPress admin menu to view logs and customize settings.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20errorwatcher%20display%20errors%20on%20the%20frontend%3F\"><h3>Does ErrorWatcher display errors on the frontend?<\/h3><\/dt>\n<dd><p>No. ErrorWatcher does not show any errors on the front side to your visitors. All errors, warnings, and notices are intercepted securely in the background and listed exclusively in the back-end on a separate dashboard page.<\/p><\/dd>\n<dt id=\"does%20this%20plugin%20modify%20my%20wp-config.php%20file%3F\"><h3>Does this plugin modify my wp-config.php file?<\/h3><\/dt>\n<dd><p>No. It does not touch your <code>wp-config.php<\/code> file or alter your global <code>WP_DEBUG<\/code> configuration.<\/p><\/dd>\n<dt id=\"how%20does%20log%20deduplication%20work%3F\"><h3>How does log deduplication work?<\/h3><\/dt>\n<dd><p>If a faulty loop triggers the same notice or warning hundreds of times within a single request, the plugin records it once per request with in-memory hashing to prevent flooding.<\/p><\/dd>\n<dt id=\"can%20i%20send%20reports%20to%20multiple%20email%20addresses%3F\"><h3>Can I send reports to multiple email addresses?<\/h3><\/dt>\n<dd><p>Yes. You can enter multiple recipient email addresses separated by commas (e.g. dev@example.com, admin@example.com) in <strong>ErrorWatcher &gt; Settings<\/strong>.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.6<\/h4>\n\n<ul>\n<li>Added real-time Admin Bar Quick-Status Badge with diagnostics dropdown for administrators.<\/li>\n<li>Updated documentation to clearly highlight that errors will not show on the front side and are listed strictly in the back-end on a separate dashboard page.<\/li>\n<\/ul>\n\n<h4>1.0.5<\/h4>\n\n<ul>\n<li>Standardized all functions, classes, constants, hooks, options, and assets with unique errorwatcher_ prefix.<\/li>\n<li>Fixed log aggregation and export flattening so all grouped sibling errors appear accurately in CSV\/TXT exports and scheduled email attachments.<\/li>\n<li>Synchronized scheduled email digest metrics with the active reporting timeframe.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release of ErrorWatcher.<\/li>\n<\/ul>","raw_excerpt":"Real-time PHP error, warning, notice, and deprecation monitor with a dedicated admin dashboard, smart deduplication, and automated email digests.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/367411","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=367411"}],"author":[{"embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/itpathsolutions"}],"wp:attachment":[{"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=367411"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=367411"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=367411"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=367411"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=367411"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/szl.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=367411"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}