Title: Faultline – Error Log Assistant
Author: Daniel Chase
Published: <strong>September 27, 2026</strong>
Last modified: September 29, 2026

---

Search plugins

![](https://ps.w.org/faultline-error-log-assistant/assets/banner-772x250.png?rev
=3716098)

![](https://ps.w.org/faultline-error-log-assistant/assets/icon-256x256.png?rev=3716098)

# Faultline – Error Log Assistant

 By [Daniel Chase](https://profiles.wordpress.org/riseofweb/)

[Download](https://downloads.wordpress.org/plugin/faultline-error-log-assistant.1.1.zip)

 * [Details](https://wordpress.org/plugins/faultline-error-log-assistant/#description)
 * [Reviews](https://wordpress.org/plugins/faultline-error-log-assistant/#reviews)
 *  [Installation](https://wordpress.org/plugins/faultline-error-log-assistant/#installation)
 * [Development](https://wordpress.org/plugins/faultline-error-log-assistant/#developers)

 [Support](https://wordpress.org/support/plugin/faultline-error-log-assistant/)

## Description

**Faultline turns your WordPress error log into an actual troubleshooting workflow:
find out what broke, whose fault it is, and what to do about it – not just a wall
of text to filter through.**

If you have ever turned on `WP_DEBUG`, found a real problem in the log, and then
had no idea which plugin caused it or where to even start reading the stack trace,
this plugin is for you.

#### Find the real cause in seconds

 * **Source-file viewer** – click straight through to the exact line in the plugin,
   theme or file that threw the error, with that line highlighted.
 * **“Caused by” attribution** – every entry is matched to the specific plugin or
   theme responsible, with a one-click link to that plugin’s WordPress.org support
   forum.
 * **Draft forum post** – generates a ready-to-post support request for a plugin-
   caused error, with a redacted copy of the entry and your environment details 
   already filled in.
 * **Ask AI** – optional links that open a redacted copy of any error in Claude,
   ChatGPT or Perplexity for instant troubleshooting help. Off by default – see “
   External services” below.

#### Know the moment something breaks

 * **Dismissible admin banner and/or email alert** the instant a fatal error happens,
   including request context – was it the front end, wp-admin, a cron job, WP-CLI,
   or an AJAX call, and which URL or user was involved.
 * **Public-access check and fix** – fetches your own debug.log over HTTP the way
   a stranger would, so you find out if it is sitting publicly readable in a web-
   served directory before someone else does. If it is, one click moves it to a 
   private file name that bots cannot guess (on any server, keeping every entry),
   and you get the server rule for your actual web server – Apache, LiteSpeed, nginx
   or IIS.

#### Quiet the noise around the errors that matter

Once the real problems are easy to find, the rest of debug.log is just noise getting
in the way of the next one:

 * **Suppress routine severities before they are even written** – notices, deprecation
   warnings and coding-standard suggestions never touch the disk. This uses a chained
   error handler rather than changing PHP’s error reporting level, so other debugging
   tools still see every error. An optional setting can also move this plugin to
   the front of your site’s plugin load order, so suppression applies before other
   plugins get a chance to write their own load-time notices.
 * **Ignore patterns with live preview** – hide one specific chatty message (a plugin’s
   own logging, a third-party notice) without suppressing an entire severity class,
   and see exactly what will match before you save.
 * **Purge noise, prune by age, or cap the file size** – manually or automatically,
   so a runaway error loop never fills your disk.
 * **Fatal errors are never hidden.** Suppression only ever applies to notices, 
   deprecation warnings and (optionally) plain warnings. Fatal errors, parse errors
   and uncaught exceptions are always logged.

#### Redaction built in, everywhere

Absolute server paths, your domain, the database table prefix, email addresses and
IP addresses are stripped out before anything ever leaves your browser – whether
you hit Copy or one of the Ask AI links. Nothing is submitted anywhere automatically;
you always see the text first.

#### Step-by-step Setup, not a wall of documentation

A short guided setup walks you through everything, one screen at a time:

 * **Previous logs** – finds the PHP error logs your site was already writing before(
   such as `error_log` or `php_error.log`, including the ones hosting control panels
   create) and copies their recent entries into the new log, so you keep that history.
   The original files are only read, never changed.
 * **Turn on logging** – three constants (`WP_DEBUG`, `WP_DEBUG_LOG`, `WP_DEBUG_DISPLAY`)
   have to be set correctly together or nothing gets logged, or worse, errors get
   shown to visitors. Setup checks all three, tells you exactly what is wrong, and
   can write the fix for you – with an automatic backup taken first and a one-click
   restore always available.
 * **Reduce noise** and **Alerts** – sensible defaults, already selected.
 * **Done** – confirms logging works and checks that your log cannot be downloaded
   from the web.

Nothing is cleaned out of an existing log until you have finished (or skipped) setup,
and you can run it again any time from the Status tab.

#### What this plugin will never do

 * **Never writes to `.htaccess`.** A malformed rule there can take the whole site
   down with no admin screen left to fix it from – you get the exact snippet to 
   add yourself instead.
 * **Never edits `wp-config.php` without your confirmation**, and never rewrites
   lines it cannot be sure about. It appends what is missing, and only changes an
   existing line in two narrow, separately confirmed cases: fixing a single unambiguous
   wrong `true`/`false` value, and giving the log a private file name (which changes
   only the value of `WP_DEBUG_LOG`). If a constant is defined more than once, it
   refuses and explains instead of guessing. A backup is taken before every change.
 * **Never silently drops a fatal error** to keep the log quiet. Fatals, parse errors
   and uncaught exceptions cannot be suppressed, by design.

#### External services

Faultline can show optional “Ask AI” links next to each log entry. These are disabled
by default; you choose which ones (if any) to turn on under Settings.

When you click one of these links, your browser opens a new tab directly to that
service’s own website, with a redacted copy of the log entry included in the page’s
URL as a search query. **The plugin itself never sends anything to these services**–
there is no server-side API call, and nothing is transmitted unless and until you
personally click a link and the page loads in your own browser. Redaction (removing
absolute paths, your domain, table prefix, email addresses and IP addresses) happens
in your browser before the link is built, but it is a best-effort pattern match 
and cannot guarantee removal of every sensitive detail (for example an order ID 
or customer name embedded in an error message).

The services these optional links can point to are:

 * **Claude** (Anthropic) – [Terms of Service](https://www.anthropic.com/legal/consumer-terms),
   [Privacy Policy](https://www.anthropic.com/legal/privacy)
 * **ChatGPT** (OpenAI) – [Terms of Use](https://openai.com/policies/terms-of-use),
   [Privacy Policy](https://openai.com/policies/privacy-policy)
 * **Perplexity** – [Terms of Service](https://www.perplexity.ai/hub/legal/terms-of-service),
   [Privacy Policy](https://www.perplexity.ai/hub/legal/privacy-policy)

None of these services are contacted unless you explicitly enable the link in Settings
and then click it yourself.

## Screenshots

[⌊The Log tab, showing severity badges, "Caused by" attribution and the action groups(
source, report, Ask AI, copy, ignore, delete) for each entry.⌉⌊The Log tab, showing
severity badges, "Caused by" attribution and the action groups (source, report, 
Ask AI, copy, ignore, delete) for each entry.⌉[

The Log tab, showing severity badges, “Caused by” attribution and the action groups(
source, report, Ask AI, copy, ignore, delete) for each entry.

[⌊The step-by-step Setup: here the Reduce noise step, with the load-order option
naming the plugins that load before Faultline.⌉⌊The step-by-step Setup: here the
Reduce noise step, with the load-order option naming the plugins that load before
Faultline.⌉[

The step-by-step Setup: here the Reduce noise step, with the load-order option naming
the plugins that load before Faultline.

[⌊The Status tab, with one-click log actions and a check of the live debug configuration.⌉⌊
The Status tab, with one-click log actions and a check of the live debug configuration
.⌉[

The Status tab, with one-click log actions and a check of the live debug configuration.

[⌊The Settings tab, where suppression stops chosen severities being written to the
log at all.⌉⌊The Settings tab, where suppression stops chosen severities being written
to the log at all.⌉[

The Settings tab, where suppression stops chosen severities being written to the
log at all.

[⌊A fatal error caught as it happens: the admin alert banner, the file that caused
it (here a must-use plugin), and the request context logged alongside it.⌉⌊A fatal
error caught as it happens: the admin alert banner, the file that caused it (here
a must-use plugin), and the request context logged alongside it.⌉[

A fatal error caught as it happens: the admin alert banner, the file that caused
it (here a must-use plugin), and the request context logged alongside it.

## Installation

 1. Upload the `faultline-error-log-assistant` folder to `/wp-content/plugins/`, or
    install it directly through **Plugins > Add New Plugin** in your WordPress admin
    and search for “Faultline”.
 2. Activate the plugin through the **Plugins** screen.
 3. Go to **Tools > Faultline**. The first time, you land on the step-by-step Setup:
    it offers to copy any previous PHP error logs, turns on logging (it can edit `wp-
    config.php` for you, with an automatic backup, if the file is writable), and checks
    that the log is not publicly downloadable.
 4. Once you finish or skip Setup, the same menu item takes you straight to the Log
    tab from then on – that is where you will spend most of your time. Setup can be
    run again from the Status tab.

## FAQ

### How do I view my WordPress error log?

Activate Faultline and go to **Tools > Faultline**. If logging is not already turned
on, the Setup screen walks you through it (and can do it for you). Once it is on,
the Log tab shows every entry with severity, source plugin, and one-click tools 
to view the source line, copy the entry, or hide similar ones in future.

### Which plugin is causing this PHP error?

Every entry in the Log tab is automatically matched to the plugin or theme file 
that raised it, with a “Caused by” label and a direct link to that plugin’s WordPress.
org support forum. A “Draft forum post” button generates a ready-to-submit report
with the redacted error and your environment details already filled in.

### How do I turn on WP_DEBUG safely?

Use the Setup tab. It checks whether `WP_DEBUG`, `WP_DEBUG_LOG` and `WP_DEBUG_DISPLAY`
are all set correctly – which matters because getting only one of them right can
either log nothing at all or, worse, print raw PHP errors to your visitors. The 
plugin can write the correct `wp-config.php` lines for you (with an automatic backup
first) or give you the exact snippet to paste in yourself.

### How do I stop WordPress from filling up debug.log with notices?

Under Settings, tick which severities to suppress (notices, deprecation warnings,
coding-standard suggestions, and optionally plain warnings). Suppressed lines never
reach the disk in the first place – there is nothing to clean up afterward.

### Is my debug.log file publicly accessible to anyone on the internet?

The Status tab includes a one-click check that fetches your own `debug.log` over
HTTP exactly the way an outside visitor would, and tells you plainly whether it 
is blocked, missing, or – if so – publicly readable. Setup also runs this check 
automatically at the end. debug.log commonly lives inside a web-served directory
and can contain server paths and stack traces, so this is worth checking on every
site.

If it is readable, Faultline shows a warning on every admin screen until it is fixed,
and offers two fixes: a one-click move to a private file name that bots cannot guess(
works on any server, keeps every entry), or the exact server rule for Apache, LiteSpeed,
nginx or IIS – with a ready-to-send message for your host on nginx, where only the
host can usually add it.

### I used to have a PHP error log from my host. Will I lose it?

No. Setup looks for the PHP error logs your site was writing before logging was 
turned on (for example `error_log` files that hosting control panels create in your
site folders, or `php_errorlog`) and offers to copy their recent entries into the
new log. The original files are only read – never edited, moved or deleted. Automatic
cleanup also waits until you finish or skip Setup, so nothing already in your log
is removed before you have seen it.

### Does this replace my existing log viewer plugin?

It can. The Log tab shows every entry with severity, source-plugin attribution, 
a source-code viewer, fatal-error alerts and AI troubleshooting links – and, on 
top of that, prevents routine severities from being written to `debug.log` at all.

### What makes this different from other WordPress debug log plugins?

It identifies which specific plugin or theme caused each error, links straight to
the offending line of source code, drafts a ready-to-post support request, and offers
redacted AI troubleshooting links – on top of suppressing routine notices and deprecation
warnings before they ever reach disk. All of that is included in the free version.

### Will this plugin ever show PHP errors to my site visitors?

No. It refuses to change anything while `WP_DEBUG` is off, because WordPress deliberately
narrows error reporting for production in that case – overriding it could expose
warnings to visitors on a host with `display_errors` on. It also never enables `
WP_DEBUG_DISPLAY`, which is the setting that actually prints errors on-screen.

### Can it guarantee it loads before every other plugin?

There is an optional, off-by-default “priority load order” setting that moves it
to the front of the active-plugins load order and re-asserts that position whenever
plugins are activated or deactivated, covering the overwhelming majority of real
sites once turned on. It cannot get ahead of must-use plugins or WordPress’s own
core bootstrap, and it is opt-in because changing another plugin’s effective load
order is something WordPress.org expects a site owner to explicitly choose, not 
something a plugin should do by default. The Status tab reports the actual current
load position honestly rather than claiming complete coverage.

### What happens to wp-config.php if I deactivate or delete the plugin?

Deactivating offers to revert the `wp-config.php` change it made, with a confirmation
prompt, before deactivation completes. Deleting the plugin removes its own settings
and stored data, but never touches `wp-config.php` or your log file – only an explicit“
Restore” action does that.

### Does this work on WordPress multisite?

Yes, on a per-site basis. Network-activated plugins are stored differently by WordPress,
and the load-order feature deliberately does not attempt to modify that network-
wide list.

### Will suppressing notices hide bugs from me?

No – it hides categories of message you choose, not specific bugs. Fatal errors,
parse errors and uncaught exceptions are always logged and can never be suppressed,
because those are the ones that actually break something. Warnings are logged by
default; the plugin only lets you turn off notices, deprecation warnings and coding-
standard suggestions, which are rarely actionable on someone else’s plugin code.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“Faultline – Error Log Assistant” is open source software. The following people 
have contributed to this plugin.

Contributors

 *   [ Daniel Chase ](https://profiles.wordpress.org/riseofweb/)

[Translate “Faultline – Error Log Assistant” into your language.](https://translate.wordpress.org/projects/wp-plugins/faultline-error-log-assistant)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/faultline-error-log-assistant/),
check out the [SVN repository](https://plugins.svn.wordpress.org/faultline-error-log-assistant/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/faultline-error-log-assistant/)
by [RSS](https://plugins.trac.wordpress.org/log/faultline-error-log-assistant/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.1

 * Log entries now show the formatting WordPress puts in its own notices (bold, 
   code, links) instead of raw HTML tags. Ignore patterns, search and Copy entry
   work with either form.
 * Status tab trimmed to live facts only: sections that repeated the Settings page
   were removed, and pruning and noise removal are combined into one Cleanup section.
 * If your log can be downloaded from the web, Faultline now helps fix it: one click
   gives the log a private file name (works on any server, previous entries are 
   carried over), and server rules are shown for your actual web server (Apache/
   LiteSpeed, nginx or IIS), with a ready-to-send message for your host on nginx.
   An exposed log is flagged on every admin screen until fixed.
 * A custom WP_DEBUG_LOG path is no longer reported as a wrong value on the Setup
   screen.
 * Setup is now a short step-by-step wizard: previous logs, turn on logging, reduce
   noise, alerts, done. It can be run again any time from the Status tab.
 * Setup finds PHP error logs your site was already writing (for example error_log
   or php_error.log) and can copy their recent entries into the new log. The original
   files are only read, never changed.
 * Automatic cleanup now waits until setup is finished or skipped, so installing
   the plugin never removes existing log entries before you have seen them.
 * The last setup step checks whether your log can be downloaded from the web, and
   helps fix it if so.
 * A theme or plugin that prints PHP warnings on screen can no longer leave you 
   stranded on an error page after a Faultline action (saving setup, copying logs,
   changing wp-config.php).
 * The “Finish setup” notice no longer shows on the Setup screen itself, and goes
   away once setup is finished or skipped.
 * The Faultline icon now appears in the page heading and in the Tools menu.

#### 1.0

 * Initial release.

## Meta

 *  Version **1.1**
 *  Last updated **10 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 5.8 or higher **
 *  Tested up to **7.1.2**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [debug](https://wordpress.org/plugins/tags/debug/)[error log](https://wordpress.org/plugins/tags/error-log/)
   [php errors](https://wordpress.org/plugins/tags/php-errors/)[troubleshooting](https://wordpress.org/plugins/tags/troubleshooting/)
   [WP_DEBUG](https://wordpress.org/plugins/tags/wp_debug/)
 *  [Advanced View](https://wordpress.org/plugins/faultline-error-log-assistant/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/faultline-error-log-assistant/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/faultline-error-log-assistant/reviews/)

## Contributors

 *   [ Daniel Chase ](https://profiles.wordpress.org/riseofweb/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/faultline-error-log-assistant/)