BACK TO DIRECTORY

JS Error Logger

by JFG Media

5.0
(1 ratings)

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})

Request hardening:
You may use the “jserrlog_enforce_same_host_origin” WP filter to require same-host Origin/Referer checks for logging requests (default true): add_filter('jserrlog_enforce_same_host_origin',function(){return true;})
You may use the “jserrlog_rate_limit_requests” and “jserrlog_rate_limit_window” WP filters to control request throttling (defaults: 60 requests per 60 seconds): add_filter('jserrlog_rate_limit_requests',function(){return 120;}); add_filter('jserrlog_rate_limit_window',function(){return 60;});
You may use the “jserrlog_max_payload_bytes”, “jserrlog_max_batch_errors” and “jserrlog_max_error_field_length” WP filters to limit incoming payload sizes (defaults: 16384 bytes, 20 errors per batch, 512 chars per field): add_filter('jserrlog_max_payload_bytes',function(){return 32768;});
You may use the “jserrlog_duplicate_window” WP filter to suppress duplicate errors for a short period (default: 60 seconds): add_filter('jserrlog_duplicate_window',function(){return 30;});

Multisite

The plugin works with multisite. There’s one error log per site.

Screenshots

The JS Error Logger dashboard widget

The JS Error Logger dashboard widget

The full error log from within the plugin settings

The full error log from within the plugin settings

Some of the settings

Some of the settings

Plugin Details

Active Installs
10
Total Downloads
1,965
Version
1.5
Requires WP
5.0
Requires PHP
7.4
Tested Up To
7.0.4
Added
2024-11-24
Last Updated
2026-05-26 3:59am GMT

Ratings

5
1
4
0
3
0
2
0
1
0