Respostas:
você pode adicionar em um de seus módulos no di.xml
arquivo isto:
<preference for="Magento\Framework\DB\LoggerInterface" type="Magento\Framework\DB\Logger\File"/>
A Magento\Framework\DB\Adapter\Pdo\Mysql
classe 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\Quiet
nã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\File
e 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=true
antes 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=true
você pode adicionar o código a seguir app/etc/di.xml
para 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
, $logQueryTime
e $logCallStack
dessa 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>