No magento 1.x, uso a n98-magerun
ferramenta para obter um arquivo de log para todas as consultas de banco de dados:
n98-magerun.phar dev:log:db [--on] [--off]
É possível registrar consultas de banco de dados no Magento2?
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-loggingLoggerInterface
é implementado porLoggerProxy
, nãoLogger\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 ).Pelo menos nas versões mais recentes (olhando para a 2.2.1 aqui e agora), você pode fazer
e ter registros extensos
var/debug/db.log
. Não se esqueça de desativar o logoff novamente com.
fonte
Para definir,
logAllQueries=true
você pode adicionar o código a seguirapp/etc/di.xml
para alterar os__construct()
parâmetros deMagento\Framework\DB\Logger\File
:Você também pode alterar os outros parâmetros
$debugFile
,$logQueryTime
e$logCallStack
dessa forma.fonte
Aqui está o meu di.xml
fonte