Odpowiedzi:
możesz dodać w di.xmlpliku jeden z modułów :
<preference for="Magento\Framework\DB\LoggerInterface" type="Magento\Framework\DB\Logger\File"/>
Magento\Framework\DB\Adapter\Pdo\MysqlKlasa, która służy do uruchamiania rzeczywistych zapytań ma człon rejestratora Magento\Framework\DB\LoggerInterface.
Domyślnie preferencje dla tej zależności są ustawione naapp/etc/di.xml
<preference for="Magento\Framework\DB\LoggerInterface" type="Magento\Framework\DB\Logger\Quiet"/>
to Magento\Framework\DB\Logger\Quietnic nie robi.
<?php
/**
* Copyright © 2015 Magento. All rights reserved.
* See COPYING.txt for license details.
*/
namespace Magento\Framework\DB\Logger;
class Quiet implements \Magento\Framework\DB\LoggerInterface
{
/**
* {@inheritdoc}
*/
public function log($str)
{
}
/**
* {@inheritdoc}
*/
public function logStats($type, $sql, $bind = [], $result = null)
{
}
/**
* {@inheritdoc}
*/
public function critical(\Exception $e)
{
}
/**
* {@inheritdoc}
*/
public function startTimer()
{
}
}
zmień preferencje na Magento\Framework\DB\Logger\Filei powinieneś zobaczyć zalogowane zapytania var/debug/db.log.
Magento jest standardowo wyposażony w te dwa rejestratory (cichy i plikowy), ale możesz je utworzyć na wypadek, gdybyś potrzebował innego sposobu rejestrowania zapytań.
logAllQueries=truezanim zostaną zalogowani do pliku - atwix.com/magento-2/database-queries-logging
LoggerInterfacejest implementowany przez LoggerProxy, a nie Logger\Quiet, który z kolei pobiera parametry z konfiguracji wdrażania. Zobacz odpowiedź @ Felixa ( magento.stackexchange.com/a/201517/60128 ).
Aby ustawić logAllQueries=true, możesz dodać następujący kod w app/etc/di.xmlcelu zmiany __construct()parametrów Magento\Framework\DB\Logger\File:
<preference for="Magento\Framework\DB\LoggerInterface" type="Magento\Framework\DB\Logger\File"/>
<type name="Magento\Framework\DB\Logger\File">
<arguments>
<argument name="logAllQueries" xsi:type="boolean">true</argument>
</arguments>
</type>
Można również zmienić inne parametry $debugFile, $logQueryTimei $logCallStackw ten sposób.
Oto mój plik 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">
<preference for="Magento\Framework\DB\LoggerInterface" type="Magento\Framework\DB\Logger\File"/>
<type name="Magento\Framework\DB\Logger\File">
<arguments>
<argument name="logAllQueries" xsi:type="boolean">true</argument>
<argument name="debugFile" xsi:type="string">sql.log</argument>
</arguments>
</type>
</config>