Title: JS Error Logger
Author: JFG Media
Published: <strong>24 de noviembre de 2024</strong>
Last modified: 26 de mayo de 2026

---

Buscar plugins

![](https://ps.w.org/js-error-logger/assets/banner-772x250.jpg?rev=3547145)

![](https://ps.w.org/js-error-logger/assets/icon-256x256.jpg?rev=3547135)

# JS Error Logger

 Por [JFG Media](https://profiles.wordpress.org/jfgmedia/)

[Descargar](https://downloads.wordpress.org/plugin/js-error-logger.1.5.zip)

[Vista previa](https://es.wordpress.org/plugins/js-error-logger/?preview=1)

 * [Detalles](https://es.wordpress.org/plugins/js-error-logger/#description)
 * [Valoraciones](https://es.wordpress.org/plugins/js-error-logger/#reviews)
 *  [Instalación](https://es.wordpress.org/plugins/js-error-logger/#installation)
 * [Desarrollo](https://es.wordpress.org/plugins/js-error-logger/#developers)

 [Soporte](https://wordpress.org/support/plugin/js-error-logger/)

## Descripción

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.

## Capturas

[⌊The JS Error Logger dashboard widget⌉⌊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⌉[

The full error log from within the plugin settings

[⌊Some of the settings⌉⌊Some of the settings⌉[

Some of the settings

## Instalación

 1. Visit the Plugins page within your dashboard and select «Add New»
 2. Search for «JS Error Logger»
 3. Click «Install»

## Reseñas

![](https://secure.gravatar.com/avatar/69addaf65ff1c36d4d2a440adc243f2622f1fc803e077b633db1332967cc2e97?
s=60&d=retro&r=g)

### 󠀁[Godsent](https://wordpress.org/support/topic/godsent-4/)󠁿

 [steaklassie](https://profiles.wordpress.org/steaklassie/) 14 de enero de 2025 
1 respuesta

My users are having an annoying issue on the frontend of my website that I cannot
reproduce. It's causing chaos, this plugin seems to be exactly what I need to get
to the bottom of this!

 [ Leer la 1 reseña ](https://wordpress.org/support/plugin/js-error-logger/reviews/)

## Colaboradores y desarrolladores

«JS Error Logger» es un software de código abierto. Las siguientes personas han 
colaborado con este plugin.

Colaboradores

 *   [ JFG Media ](https://profiles.wordpress.org/jfgmedia/)

«JS Error Logger» está traducido en 1 idioma. Gracias a [los traductores](https://translate.wordpress.org/projects/wp-plugins/js-error-logger/contributors)
por sus contribuciones.

[Traduce «JS Error Logger» a tu idioma.](https://translate.wordpress.org/projects/wp-plugins/js-error-logger)

### ¿Interesado en el desarrollo?

[Revisa el código](https://plugins.trac.wordpress.org/browser/js-error-logger/) ,
echa un vistazo al [repositorio SVN](https://plugins.svn.wordpress.org/js-error-logger/)
o suscríbete al [registro de desarrollo](https://plugins.trac.wordpress.org/log/js-error-logger/)
por [RSS](https://plugins.trac.wordpress.org/log/js-error-logger/?limit=100&mode=stop_on_copy&format=rss).

## Registro de cambios

#### 1.5

 * Added a cookie-based «new» indicator in the dashboard widget to highlight unseen
   errors
 * Improved the dashboard widget error display with error type labels above the 
   message
 * Refined dashboard widget spacing and styling for a cleaner table layout

#### 1.4.3

 * Fix: Badly scoped call to WP_FileSystem
 * Fix: Clicking on the dashboard widget «Refresh log» button was causing jQuery
   modals to instantiate again

#### 1.4

 * Tested up to WordPress 7.0
 * Prioritized navigator.sendBeacon for delayed ajax sending
 * Added request hardening controls (same-host origin check, rate limiting, payload
   limits, duplicate suppression) with WP filters
 * Fixed log directory path to use uploads base directory for stable storage across
   months
 * Added legacy log migration from previous date-based log directory
 * Improved log writes with append + lock strategy and fallback to reduce race conditions
 * Removed log maintenance from settings page render; maintenance now runs on its
   scheduled hook only
 * Cleared scheduled cleanup hook on plugin deactivation instead of just deletion
 * Updated the default accent color for WordPress 7.0+ from #2271b1 to #3858e9
 * Accessibility improvements

#### 1.3.1

 * Tested up to WordPress 6.9
 * Renamed some template variables to ensure they can’t be mistaken for global variables
 * Changed some native PHP functions such as mk_dir, rm_dir, fopen, etc… to use 
   WP_Filesystem

#### 1.3

 * Dropped support for PHP<7.4
 * Added links to our other plugins in the settings area
 * Addition of an admin notice
 * Addition of 2 developer hooks and 1 filter

#### 1.2

 * Accessibility improvements
 * Fix: Make sure the mu-plugin is also deleted when deactivating the plugin, and
   not just when uninstalling it
 * Added 3 more settings to the UI that were previously only accessible through 
   WP filters

#### 1.1.11

 * Fix: Properly dequeue the early loaded script in the front-end, if js error logging
   is not enabled

#### 1.1.10

 * Security hardening
 * Documentation of variables for the translators
 * Minor Fix: Ensure the mu-plugins directory is writable before creating the early
   loader, to avoid PHP warnings

#### 1.1.9

 * Fix: Properly dequeue the early loaded script in admin, if back end logging is
   not enabled

#### 1.1.7

 * Improvement: better update mechanism to make sure the mu-plugin also gets updated

#### 1.1.6

 * New: it is now possible to also log back end js errors

#### 1.1.5

 * Fix: An HTML attribute was escaped with wp_kses instead of esc_attr, which could
   lead to some display issues if double quotes were in the attribute text

#### 1.1.4

 * Fix: When the dashboard widget was initially empty, then refreshed, and an error
   was there, the «View» button was not clickable

#### 1.1.3

 * Fix: A change in the ID of the dashboard widget was preventing the «Refresh log»
   button from working properly

#### 1.1.2

 * Fix: Removed the «string» return type on rewrite_script_src to prevent potential
   issues

#### 1.1.1

 * Fix: issue with special character encoding
 * Fix: Missing trailing slash during the creation of the «js-error-logger-log» 
   directory
 * Improvement: Plugin should detect the most popular caching plugins, and remind
   users to clear their cache after changing some settings

#### 1.0

 * Initial Release

## Meta

 *  Versión **1.5**
 *  Última actualización **hace 5 meses**
 *  Instalaciones activas **10+**
 *  Versión de WordPress ** 5.0 o superior **
 *  Probado hasta **7.0.7**
 *  Versión de PHP ** 7.4 o superior **
 *  Idiomas
 * [English (US)](https://wordpress.org/plugins/js-error-logger/) y [French (France)](https://fr.wordpress.org/plugins/js-error-logger/).
 *  [Traducir a tu idioma](https://translate.wordpress.org/projects/wp-plugins/js-error-logger)
 * Etiquetas:
 * [dashboard widget](https://es.wordpress.org/plugins/tags/dashboard-widget/)[debug](https://es.wordpress.org/plugins/tags/debug/)
   [error reporting](https://es.wordpress.org/plugins/tags/error-reporting/)[javascript](https://es.wordpress.org/plugins/tags/javascript/)
   [JS](https://es.wordpress.org/plugins/tags/js/)
 *  [Vista avanzada](https://es.wordpress.org/plugins/js-error-logger/advanced/)

## Valoraciones

 5 de 5 estrellas.

 *  [  1 valoración de 5 estrellas     ](https://wordpress.org/support/plugin/js-error-logger/reviews/?filter=5)
 *  [  0 valoraciones de 4 estrellas     ](https://wordpress.org/support/plugin/js-error-logger/reviews/?filter=4)
 *  [  0 valoraciones de 3 estrellas     ](https://wordpress.org/support/plugin/js-error-logger/reviews/?filter=3)
 *  [  0 valoraciones de 2 estrellas     ](https://wordpress.org/support/plugin/js-error-logger/reviews/?filter=2)
 *  [  0 valoraciones de 1 estrellas     ](https://wordpress.org/support/plugin/js-error-logger/reviews/?filter=1)

[Tu valoración](https://wordpress.org/support/plugin/js-error-logger/reviews/#new-post)

[Ver todas las reseñas](https://wordpress.org/support/plugin/js-error-logger/reviews/)

## Colaboradores

 *   [ JFG Media ](https://profiles.wordpress.org/jfgmedia/)

## Soporte

¿Tienes algo que decir? ¿Necesitas ayuda?

 [Ver el foro de soporte](https://wordpress.org/support/plugin/js-error-logger/)

## Donar

¿Te gustaría apoyar el progreso de este plugin?

 [ Dona a este plugin ](https://paypal.me/jfgui)