{"id":37430,"date":"2015-07-10T00:44:34","date_gmt":"2015-07-10T00:44:34","guid":{"rendered":"https:\/\/wordpress.org\/plugins-wp\/wp-rest-api-log\/"},"modified":"2025-01-02T16:29:08","modified_gmt":"2025-01-02T16:29:08","slug":"wp-rest-api-log","status":"publish","type":"plugin","link":"https:\/\/sa.wordpress.org\/plugins\/wp-rest-api-log\/","author":9832473,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_crdt_document":"","version":"1.7.0","stable_tag":"1.7.0","tested":"6.7.5","requires":"4.7","requires_php":"","requires_plugins":null,"header_name":"REST API Log","header_author":"Pete Nelson","header_description":"","assets_banners_color":"","last_updated":"2025-01-02 16:29:08","external_support_url":"","external_repository_url":"","donate_link":"https:\/\/github.com\/petenelson\/wp-rest-api-log","header_plugin_uri":"https:\/\/github.com\/petenelson\/wp-rest-api-log","header_author_uri":"https:\/\/petenelson.io","rating":3.6,"author_block_rating":0,"active_installs":5000,"downloads":114093,"num_ratings":24,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0-beta1":{"tag":"1.0.0-beta1","author":"GunGeekATX","date":"2015-07-10 01:02:59"},"1.0.0-beta2":{"tag":"1.0.0-beta2","author":"GunGeekATX","date":"2016-04-10 21:58:30"},"1.1.0":{"tag":"1.1.0","author":"GunGeekATX","date":"2016-04-28 20:47:39"},"1.1.1":{"tag":"1.1.1","author":"GunGeekATX","date":"2016-05-15 21:12:25"},"1.2.0":{"tag":"1.2.0","author":"GunGeekATX","date":"2016-07-06 23:40:39"},"1.3.0":{"tag":"1.3.0","author":"GunGeekATX","date":"2016-12-06 04:23:33"},"1.4.0":{"tag":"1.4.0","author":"GunGeekATX","date":"2017-01-24 04:07:16"},"1.5.0":{"tag":"1.5.0","author":"GunGeekATX","date":"2017-02-03 01:52:28"},"1.5.1":{"tag":"1.5.1","author":"GunGeekATX","date":"2017-02-15 18:51:24"},"1.5.2":{"tag":"1.5.2","author":"GunGeekATX","date":"2017-02-21 19:26:12"},"1.6.0":{"tag":"1.6.0","author":"GunGeekATX","date":"2017-03-10 14:12:39"},"1.6.1":{"tag":"1.6.1","author":"GunGeekATX","date":"2017-03-10 14:38:26"},"1.6.2":{"tag":"1.6.2","author":"GunGeekATX","date":"2017-03-10 15:30:16"},"1.6.3":{"tag":"1.6.3","author":"GunGeekATX","date":"2017-04-03 18:09:48"},"1.6.4":{"tag":"1.6.4","author":"GunGeekATX","date":"2017-05-26 17:47:25"},"1.6.5":{"tag":"1.6.5","author":"GunGeekATX","date":"2017-10-24 00:51:27"},"1.6.6":{"tag":"1.6.6","author":"GunGeekATX","date":"2018-11-09 21:27:27"},"1.6.7":{"tag":"1.6.7","author":"GunGeekATX","date":"2019-03-31 21:58:49"},"1.6.8":{"tag":"1.6.8","author":"GunGeekATX","date":"2021-03-11 19:36:36"},"1.6.9":{"tag":"1.6.9","author":"GunGeekATX","date":"2022-09-10 01:16:24"},"1.7.0":{"tag":"1.7.0","author":"GunGeekATX","date":"2025-01-02 16:29:08"}},"upgrade_notice":{"v1.7.0 May 8, 2023":"<ul>\n<li>Fixed bugs related to Method and Status filtering.<\/li>\n<li>Removed deprecated FILTER_SANITIZE_STRING calls.<\/li>\n<li>Updated highlight.js version<\/li>\n<li>Updated clipboard.js version<\/li>\n<\/ul>"},"ratings":{"1":7,"2":0,"3":2,"4":2,"5":13},"assets_icons":[],"assets_banners":[],"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0-beta1","1.0.0-beta2","1.1.0","1.1.1","1.2.0","1.3.0","1.4.0","1.5.0","1.5.1","1.5.2","1.6.0","1.6.1","1.6.2","1.6.3","1.6.4","1.6.5","1.6.6","1.6.7","1.6.8","1.6.9","1.7.0"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":1587840,"resolution":"1","location":"assets","locale":""},"screenshot-2.png":{"filename":"screenshot-2.png","revision":1587840,"resolution":"2","location":"assets","locale":""}},"screenshots":{"1":"Sample list of log entries","2":"Sample log entry details"},"jetpack_post_was_ever_published":false},"plugin_section":[],"plugin_tags":[1556,1118,23853,2300,2301],"plugin_category":[],"plugin_contributors":[78548],"plugin_business_model":[],"class_list":["post-37430","plugin","type-plugin","status-publish","hentry","plugin_tags-api","plugin_tags-json","plugin_tags-rest-api","plugin_tags-wp-api","plugin_tags-wp-rest-api","plugin_contributors-gungeekatx","plugin_committers-gungeekatx"],"banners":[],"icons":{"svg":false,"icon":"https:\/\/s.w.org\/plugins\/geopattern-icon\/wp-rest-api-log.svg","icon_2x":false,"generated":true},"screenshots":[{"src":"https:\/\/ps.w.org\/wp-rest-api-log\/assets\/screenshot-1.png?rev=1587840","caption":"Sample list of log entries"},{"src":"https:\/\/ps.w.org\/wp-rest-api-log\/assets\/screenshot-2.png?rev=1587840","caption":"Sample log entry details"}],"raw_content":"<!--section=description-->\n<p>WordPress plugin to log <a href=\"http:\/\/v2.wp-api.org\/\">REST API<\/a> requests and responses (for v2 of the API).<\/p>\n\n<p>Includes:<\/p>\n\n<ul>\n<li>WordPress admin page to view and search log entries<\/li>\n<li>API endpoint to access log entries via JSON<\/li>\n<li>Filters to customize logging<\/li>\n<li>Custom endpoint logging<\/li>\n<li>ElasticPress logging<\/li>\n<\/ul>\n\n<p>Find us on <a href=\"https:\/\/github.com\/petenelson\/wp-rest-api-log\">GitHub<\/a>!<\/p>\n\n<p>Roadmap<\/p>\n\n<ul>\n<li>Better search capabilities for log entries via the REST API endpoint<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the wp-rest-api-log directory to the <code>\/wp-content\/plugins\/<\/code> directory<\/li>\n<li>Activate the plugin through the 'Plugins' menu in WordPress<\/li>\n<li>Go to Settings -&gt; REST API Log to enable or disable logging<\/li>\n<li>Go to Tools -&gt; REST API Log to start viewing log entries<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id='how%20do%20i%20use%20elasticpress%20logging%3F'><h3>How do I use ElasticPress logging?<\/h3><\/dt>\n<dd><p><a href=\"https:\/\/wordpress.org\/plugins\/elasticpress\/\">ElasticPress<\/a> is a plugin than interfaces WordPress to the <a href=\"https:\/\/www.elastic.co\/products\/elasticsearch\">ElasticSearch<\/a> search service.  Because ElasticSearch has its own REST API for indexing and searching data, it was a natural fit to extend logging support via this REST API Logging plugin.<\/p>\n\n<p>You can go into Settings &gt; ElasticPress to enable logging for requests &amp; responses.  You can also disable REST API logging if you only need ElasticPress logging.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>v1.7.0 May 8, 2023<\/h4>\n\n<ul>\n<li>Fixed bugs related to Method and Status filtering.<\/li>\n<li>Removed deprecated FILTER_SANITIZE_STRING calls.<\/li>\n<li>Updated highlight.js version<\/li>\n<li>Updated clipboard.js version<\/li>\n<\/ul>\n\n<h4>v1.6.9 September 9, 2022<\/h4>\n\n<ul>\n<li>Updated highlight.js version<\/li>\n<li>Updated clipboard.js version<\/li>\n<\/ul>\n\n<h4>v1.6.8 October 30, 2020<\/h4>\n\n<ul>\n<li>Updated the Purge All Entries functionality in the admin to purge batches of 25 at a time.<\/li>\n<li>Updated CLI purge command with a progress bar.<\/li>\n<li>Fixed ClipboardJS error (props itowhid06)<\/li>\n<\/ul>\n\n<h4>v1.6.7 March 31, 2019<\/h4>\n\n<ul>\n<li>Added admin notice about running the plugin on a production server<\/li>\n<li>Set the default purge days to 7<\/li>\n<li>Updated clipboard.js version<\/li>\n<\/ul>\n\n<h4>v1.6.6 November 9, 2018<\/h4>\n\n<ul>\n<li>Moved taxonomy registration to a separate file, made taxonomies not public to prevent them from automatically showing in Yoast SEO sitemaps<\/li>\n<li>Updated highlight.js version<\/li>\n<li>Updated minimum WP version to 4.7<\/li>\n<li>Updated unit test framework<\/li>\n<\/ul>\n\n<h4>v1.6.5 July 26, 2017<\/h4>\n\n<ul>\n<li>Fixed some escaping issues in admin and new-line characters when saving to database (props davidanderson)<\/li>\n<li>Updated highlight.js and clipboard.js versions<\/li>\n<\/ul>\n\n<h4>v1.6.4 May 26, 2017<\/h4>\n\n<ul>\n<li>Fixed an issue with the URL in the settings tabs (props davidanderson)<\/li>\n<\/ul>\n\n<h4>v1.6.3 March 28, 2017<\/h4>\n\n<ul>\n<li>Updated logging for multidimensional query parameters (props mnelson4)<\/li>\n<\/ul>\n\n<h4>v1.6.2 March 10, 2017<\/h4>\n\n<ul>\n<li>Fixed bug in HTTPS download URLs.<\/li>\n<li>Fixed bug in download URL permissions.<\/li>\n<\/ul>\n\n<h4>v1.6.0 March 9, 2017<\/h4>\n\n<ul>\n<li>Added ability to download request and response fields as JSON files, as well as copy to clipboard.<\/li>\n<li>Added button on settings page to Purge All Log Entries.<\/li>\n<li>Tweaked some of the ElasticPress routes that skip logging.<\/li>\n<\/ul>\n\n<h4>v1.5.2 February 21, 2017<\/h4>\n\n<ul>\n<li>Fixed a bug with ElasticPress logging getting stuck in a loop regarding the _nodes\/plugins URL.<\/li>\n<\/ul>\n\n<h4>v1.5.1 February 15, 2017<\/h4>\n\n<ul>\n<li>Removed hidden custom taxonomies from the navigation menu admin (props <a href=\"https:\/\/github.com\/phh\">phh<\/a> for the pull request).<\/li>\n<\/ul>\n\n<h4>v1.5.0 February 2, 2017<\/h4>\n\n<ul>\n<li>Added logging for the user making the request (props <a href=\"https:\/\/github.com\/drsdre\">drsdre<\/a> for the pull request).<\/li>\n<li>Added Settings and Log links from the Plugins page.<\/li>\n<li>Updated term fetching when viewing log entries for fewer database queries and better performance.<\/li>\n<li>Updated highlight.js to 9.9.0<\/li>\n<\/ul>\n\n<h4>v1.4.0 January 23, 2017<\/h4>\n\n<ul>\n<li>Added the ability to filter routes for logging, either include or exclude specific routes.<\/li>\n<\/ul>\n\n<h4>v1.3.0 December 5, 2016<\/h4>\n\n<ul>\n<li>Added support for logging HTTP_X_FORWARDED_FOR, useful for servers behind a proxy or load balancer.<\/li>\n<li>Changed plugin name to REST API Log<\/li>\n<li>Changed the wp-rest-api-log post type 'public' setting to false to prevent it from showing up in searches.<\/li>\n<li>Updated Highlight JS version to 9.7.0<\/li>\n<li>Updated the internal process for granting administrator role access to the custom post type<\/li>\n<li>Bug fix: Header values with colons were not being stored correctly.<\/li>\n<li>Bug fix: Use proper HTML escaping when viewing log entries.<\/li>\n<\/ul>\n\n<h4>v1.2.0 July 6, 2016<\/h4>\n\n<ul>\n<li>Added support for <a href=\"https:\/\/wordpress.org\/plugins\/elasticpress\/\">ElasticPress<\/a> logging<\/li>\n<li>Fixed undefined constant error on Help page (props vinigarcia87)<\/li>\n<\/ul>\n\n<h4>v1.1.1 May 15, 2016<\/h4>\n\n<ul>\n<li>Fixed error during activation (props pavelevap)<\/li>\n<\/ul>\n\n<h4>v1.1.0 April 28, 2016<\/h4>\n\n<ul>\n<li>Added cron job to cleanup old log entries<\/li>\n<li>Added setting to exclude the WP core \/oembed API endpoint<\/li>\n<li>Don't diplay log entries in the Insert Link modal<\/li>\n<\/ul>\n\n<h4>v1.0.0-beta2 April 10, 2016<\/h4>\n\n<ul>\n<li>Switched from custom tables to built-in WordPress tables using a custom post type (wp-rest-api-log)<\/li>\n<li>Method, status, and source are now tracked using taxonomies<\/li>\n<li>Viewing log entries now uses the standard WordPress admin UI, includes filters for method, status, and source<\/li>\n<li>Added admin settings with the option to enable or disable logging<\/li>\n<li>Added WP-CLI support: wp rest-api-log<\/li>\n<li>Added .pot file to support translations<\/li>\n<\/ul>\n\n<p><strong>NOTE: if you are upgrading from the previous version, you can run the \"wp rest-api-log migrate\" WP-CLI command to migrate your existing logs into the new custom post type<\/strong><\/p>\n\n<h4>v1.0.0-beta1 July 9, 2015<\/h4>\n\n<ul>\n<li>Initial release<\/li>\n<\/ul>","raw_excerpt":"WordPress plugin to log REST API requests and responses","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/37430","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=37430"}],"author":[{"embeddable":true,"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/gungeekatx"}],"wp:attachment":[{"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=37430"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=37430"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=37430"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=37430"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=37430"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/sa.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=37430"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}