I have created an observer but it does not seem to ever fire - I need to replicate sales_order_place_after
from an old Magento 1.9.X module into the one I am refactoring for Magento2
So far I have \MyVendor\Order\etc\events.xml:
<?xml version="1.0"?>
<config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="urn:magento:framework:Event/etc/events.xsd">
<event name="checkout_onepage_controller_success_action">
<observer name="MyObserver" instance="MyVendor\Order\Observer\OrderObserver" />
</event>
</config>
And also OrderObserver.php
which is:
<?php
namespace MyVendor\Order\Observer;
use \Magento\Framework\Event\ObserverInterface;
use \Psr\Log\LoggerInterface;
class OrderObserver implements ObserverInterface
{
protected $logger;
public function __construct(LoggerInterface $logger)
{
$this->logger = $logger;
parent::_construct();
//Observer initialization code...
//You can use dependency injection to get any class this observer may need.
}
public function execute(\Magento\Framework\Event\Observer $observer)
{
//Observer execution code...
$this->logger->debug('Order Observer');
}
}
I've tried moving the events.xml into a sub folder of etc for frontend, but I seem unable to reach my debug log. What have I done that needs amending to get this observer to fire?