JS Error Logger
The plugin catches most JS errors, logs them, and displays them in a dashboard widget.
Here are some of its features:
- Except for the plugin settings, there is no database storage involved. Log is written in a “.log” file.
- Display latest JS errors in a dashboard widget.
- Refresh errors from the dashboard widget.
- See the full error log on a separate page.
- Ignore errors if the user agent contains a specific string.
- Ignore errors if the error contains a specific string.
- Ignore errors if the script url contains a specific string.
- See which page and which script triggered the errors.
- Choose the maximum amount of errors to log per page load.
- Exclude logging errors from specific post types.
- Choose how ajax calls are made.
Developer hooks and filters
The plugin cleans the log every 24 hours, to only keep the last 100 entries.
You may use the “jserrlog_max_log_entries” WP filter to enable more or less entries, by returning an integer: add_filter('jserrlog_max_log_entries',function(){return 200;})
Alter error data:
You may use the “jserrlog_pre_insert_error” WP filter to modify the error data before it’s inserted into the log file: add_filter('jserrlog_pre_insert_error',function($error_data){return $error_data;})
Trigger integrations:
You may use the “jserrlog_after_log” WP hook to trigger an action (Slack notification, etc.) after an error was logged: add_action('jserrlog_after_log',function($error_data){//do something})
Backup old errors:
You may use the “jserrlog_before_log_maintenance” WP hook to trigger an action (archive errors, etc.) before old errors are deleted: add_action('jserrlog_before_log_maintenance',function($errors){//do something})
Multisite
The plugin works with multisite. There’s one error log per site.
| Domain | Exposures | Headers | Last Checked |
|---|---|---|---|
| n*i*e.org | F | 2026-07-28 07:40:02 | |
| h*t*l*n*v*.com (WP 7.0.2) | F | 2026-07-22 17:47:12 | |
| s*i*a*n*.com (WP 7.0.2) | F | 2026-07-19 03:38:38 | |
| a*g*l*o*e*r*h*e*c*e.com (WP 7.0.1) | C | 2026-07-16 18:01:31 | |
| u*c*.o*g.uk | F | 2026-07-13 03:00:10 | |
| c*d*e*s*.es | D | 2026-07-06 02:53:42 | |
| c*d*e*s*.it | D | 2026-07-06 02:53:42 | |
| c*d*e*s*.nl | F | 2026-07-06 02:53:42 | |
| c*d*e*s*.dk | D | 2026-07-06 02:53:42 | |
| c*d*e*s*.de | D | 2026-07-06 02:53:42 | |
| c*d*e*s*.fr | D | 2026-07-06 02:53:42 | |
| k*i*a*a.de | D | 2026-07-03 17:50:59 | |
| w*r*s*a*t*r*e*k.com | F | 2026-07-03 11:38:32 | |
| c*d*e*s*.c*.uk | D | 2026-07-02 01:37:03 | |
| c*d*e*s*.com | D | 2026-07-01 00:53:54 | |
| j*g*e*i*.com | F | 2026-06-30 04:53:17 | |
| m*n*e*l*m*g*e.com (WP 7.0) | F | 2026-06-02 22:01:56 |