Respostas:
você pode adicionar em um de seus módulos no di.xmlarquivo isto:
<preference for="Magento\Framework\DB\LoggerInterface" type="Magento\Framework\DB\Logger\File"/>
A Magento\Framework\DB\Adapter\Pdo\Mysqlclasse usada para executar as consultas reais possui um membro do criador de logs Magento\Framework\DB\LoggerInterface.
Por padrão, a preferência por essa dependência é definida emapp/etc/di.xml
<preference for="Magento\Framework\DB\LoggerInterface" type="Magento\Framework\DB\Logger\Quiet"/>
isso Magento\Framework\DB\Logger\Quietnão faz nada.
<?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()
{
}
}
altere a preferência para Magento\Framework\DB\Logger\Filee você deverá ver as consultas efetuadas var/debug/db.log.
O Magento vem com esses 2 loggers (Quiet and File), por padrão, mas você pode criar o seu próprio caso precise de uma maneira diferente de registrar as consultas.
logAllQueries=trueantes de serem registrados para o arquivo - atwix.com/magento-2/database-queries-logging
LoggerInterfaceé implementado por LoggerProxy, não Logger\Quiet, que, por sua vez, obtém parâmetros da configuração de implantação. Veja a resposta de @ Felix ( magento.stackexchange.com/a/201517/60128 ).
Para definir, logAllQueries=truevocê pode adicionar o código a seguir app/etc/di.xmlpara alterar os __construct()parâmetros de 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>
Você também pode alterar os outros parâmetros $debugFile, $logQueryTimee $logCallStackdessa forma.
Aqui está o meu 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>