Dep. Comercial +40 365-882.777 +40 722-241.273 Lun-Vin: 10:00-18:00
View Categories

Fișierele de loguri în Magento 2

1 minut de citit

Magento 2 folosește biblioteca Monolog (conformă cu standardul PSR-3) pentru înregistrarea logurilor. Fișierele se află implicit în var/log/ — cele mai importante fiind var/log/system.log și var/log/debug.log (plus exception.log).

Niveluri de log (PSR-3)

Cele opt niveluri, de la cel mai sever la cel mai puțin: emergency, alert, critical, error, warning, notice, info, debug.

Scrierea în log

Injectează Psr\Log\LoggerInterface prin constructor și folosește metoda corespunzătoare nivelului:

use Psr\Log\LoggerInterface;

class MyService
{
    private $logger;
    public function __construct(LoggerInterface $logger) { $this->logger = $logger; }

    public function doSomething()
    {
        try {
            // ...
        } catch (\Throwable $e) {
            $this->logger->critical($e->getMessage(), ['exception' => $e]);
        }
    }
}

Logger personalizat (fișier propriu)

Creează un handler care extinde Magento\Framework\Logger\Handler\Base, cu propriul $fileName și $loggerType:

namespace Vendor\Module\Logger;

class Handler extends \Magento\Framework\Logger\Handler\Base
{
    protected $loggerType = \Monolog\Logger::INFO;
    protected $fileName = '/var/log/mymodule.log';
}

Declară apoi un logger prin virtualType în etc/di.xml, legându-l de handler, și injectează-l acolo unde ai nevoie:

<virtualType name="Vendor\Module\Logger\CustomLogger" type="Magento\Framework\Logger\Monolog">
    <arguments>
        <argument name="name" xsi:type="string">mymodule</argument>
        <argument name="handlers" xsi:type="array">
            <item name="debug" xsi:type="object">Vendor\Module\Logger\Handler</item>
        </argument>
    </arguments>
</virtualType>
Actualizat la 26/07/2026