1

I have to print the login details of the customer and when he logged in, into the log file. How to implement the following problem in Magento 2.

Naiwrita09
  • 73
  • 1
  • 10

1 Answers1

1

You can use event customer_login which will give you all customer data. Check here.

https://magento.stackexchange.com/a/178884/49826

For print in logs do as below.

Vendor/Module/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="customer_login">
        <observer name="customer_login_observer" instance="LazyCoder\PaymentDeadlines\Observer\CustomerLogin" />
    </event>
</config>

Vendor/Module/Obsever/CustomerLogin.php

    <?php
namespace LazyCoder\PaymentDeadlines\Observer;

use Magento\Framework\Event\ObserverInterface;
use Magento\Framework\Event\Observer as EventObserver;

class CustomerLogin implements ObserverInterface
{
    public function execute(EventObserver $observer)
    {
        $customer = $observer->getEvent()->getCustomer();
        $name =  $customer->getName(); //Get customer name


        $writer = new \Zend\Log\Writer\Stream(BP . '/var/log/logfile.log');
        $logger = new \Zend\Log\Logger();
        $logger->addWriter($writer);
        $logger->info($name); // Simple Text Log


    }
}
anonymous
  • 3,722
  • 3
  • 25
  • 67