Log HTTP Requests

Plugin Banner

Log HTTP Requests

by Matt Gibbs

Download
Description

Log and view all WP HTTP requests

How long do [core / plugin / theme] update checks take to run? What data about my site is being sent out? What about all those ajax requests? The answers to these questions are just a few clicks away.

This plugin logs all WP_HTTP requests and displays them in a table listing for easy viewing. It also stores the runtime of each HTTP request.

Available Hooks

Customize the length (in days) before older log items are removed:

add_filter( 'lhr_expiration_days', function( $days ) {
    return 7; // default = 1
});

Don’t log items from a specific hostname:

add_filter( 'lhr_log_data', function( $data ) {
    if ( false !== strpos( $data['url'], 'wordpress.org' ) ) {
        return false;
    }
    return $data;
});

In the above example, the $data array keys correspond to columns within the lhr_log database table.

Important Links

  1. Download and activate the plugin.
  2. Browse to Tools > Log HTTP Requests to view log entries.

Excellent plugin

By Jarno Vos (jarnovos) on July 24, 2024

The plugin does exactly what it says it does, and works perfect every time. I've used it quite a lot for troubleshooting purposes and have yet to discover any issues. Kind regards, Jarno

Useful for developing WordPress plugins that make HTTP requests

By Auke Piersma (aukepiersma) on June 7, 2024

I use this plugin regularly when developing WordPress plugins that make HTTP requests. This plugin works great, 5 stars from me.

awesome logs every http request/response

By witoldor on January 15, 2024

Do what it tells it, do! 🙂
Amazing

Invaluable Insight for HTTP Requests

By Shahidul Islam (bdkoder) on November 11, 2023

This plugin has proven to be an indispensable tool for tracking and analyzing HTTP requests. Its ability to reveal whether a request was made, along with detailed insights into the transmitted data and received responses, is simply remarkable. The clarity it provides is instrumental for troubleshooting and optimizing processes. A must-have for anyone dealing with HTTP interactions

Great Troubleshooting Aid

By Robin Cornett (littler.chicken) on September 22, 2021

This plugin is so helpful for tracking down whether an HTTP request was made at all, and when it was, what data was sent and what response was received. It's invaluable for tracking down bugs tied to unexpected responses and requests.
The plugin is very good and useful and I am very grateful to its developer.

My favorite troubleshooting tool

By Andrew Wilder (eatingrules) on December 6, 2020

The Log HTTP Requests plugin might be my favorite troubleshooting tool of all time. It's helped me pinpoint intermittent issues that we never would have seen otherwise. THANK YOU, FacetWP! 🙂

Allowed me to find a major 5 year old bug

By kosmicare on October 22, 2020

After installing this plugin I noticed a lot of requests being made to one site. It turns out that there was a bug in the caching of the request data, and it was being made on every page load. Fixing this has given a big performance improvement. Thank you.

Absolutely brilliant!!

By Dicko Mas Soebekti (dickoms) on October 28, 2019

I was looking for a way to look at client's json requests and responses, I was always stuck at "well, I have to be at my client's side at exactly the moment the error occurs, and while I'm also looking at the network tab at the browser". Not anymore! Thanks man, really appreciate this! One point if I may suggest, add a filtering to the log. Either only log URL which contain a "certain phrase", OR log everything and then add a search feature. Either of those would be perfect.

Thank You!

By Blocksera (blocksera) on September 12, 2019

This plugin has become indispensable for plugin development particularly debugging API requests. Thank you very much.

1.5.0

  • Security: Fixed SQL injection vulnerabilities in cleanup() and capture_request() methods
  • Security: Added prepared statements for all database queries
  • Security: Added input sanitization for POST/GET data with proper type checking
  • Security: Added proper output escaping throughout templates
  • Security: Fixed potential XSS vulnerability in JavaScript table rendering
  • Security: Improved data validation with absint() and floatval() for numeric values
  • Security: Replaced json_encode() with wp_json_encode() for better security
  • Security: Added capability check to settings page for better access control
  • Improvement: Updated WordPress compatibility to 6.8
  • Improvement: Added text domain for internationalization support
  • Improvement: Modernized code to follow WordPress coding standards
  • Improvement: Replaced deprecated current_time(‘timestamp’) with modern WordPress functions
  • Improvement: Improved database table creation using dbDelta() and get_charset_collate()

= 1.4.1
* Fixed PHP8 deprecation notices

1.4

  • Added extra ajax role validation (props pluginvulnerabilities.com)

1.3.2

  • Escaped URL field to prevent possible XSS (props Bishop Fox)

1.3.1

  • Ensured compatibility with WP 5.8

1.3

  • Minor PHP cleanup
  • Ensured compatibility with WP 5.7

1.2

  • Moved “Log HTTP Requests” to the Tools menu (props @aaemnnosttv)
  • Added “Status” column to show HTTP response code (props @danielbachhuber)
  • Added prev/next browsing to the detail modal (props @marcissimus)
  • Added keyboard support (up, down, esc) to the detail modal (props @marcissimus)
  • Added raw timestamp to “Date Added” column on hover
  • Added hook docs to the readme

1.1

  • Added lhr_log_data hook to customize logged data (return FALSE to skip logging)
  • Added lhr_expiration_days hook

1.0.4

  • Minor styling tweak

1.0.3

  • Better visibility for long URLs

1.0.2

  • Minor design tweaks
  • Replaced json_encode with wp_send_json

1.0.1

  • Tested compatibility against WP 4.9.4

1.0.0

  • Initial release
Back to top