How to log all rest api calls in magento2?
[This may not be a good way to log the Rest API]
We should try with Plugin - Magento\Webapi\Controller\Rest::dispatch()
:
app/code/Vendor/WebApiLog/etc/frontend/di.xml
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
<type name="Magento\Webapi\Controller\Rest">
<plugin name="rest-api-log"
type="Vendor\WebApiLog\Model\Plugin\RestApiLog"/>
</type>
</config>
app/code/Vendor/WebApiLog/Model/Plugin/RestApiLog.php
<?php
namespace Vendor\WebApiLog\Model\Plugin;
class RestApiLog
{
public function beforeDispatch(
\Magento\Webapi\Controller\Rest $subject,
\Magento\Framework\App\RequestInterface $request
)
{
$request->getModuleName();
$request->getActionName();
$request->getPathInfo();
}
}
You can use the following FOSS module:
https://github.com/vladflonta/magento2-webapi-log