Log HTTP Requests

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

Installation

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

Reviews

Îlon 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.
Kanûn 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! 🙂
Cotmeh 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.
Cotmeh 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.
Îlon 12, 2019
This plugin has become indispensable for plugin development particularly debugging API requests. Thank you very much.
Read all 11 reviews

Contributors & Developers

“Log HTTP Requests” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Log HTTP Requests” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

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