En magento 1.x utilizo la n98-magerunherramienta para obtener un archivo de registro para todas las consultas DB:
n98-magerun.phar dev:log:db [--on] [--off]
¿Es posible registrar consultas de bases de datos en Magento2?
Puede agregar en uno de sus módulos en el di.xmlarchivo esto:
<preference for="Magento\Framework\DB\LoggerInterface" type="Magento\Framework\DB\Logger\File"/>
La Magento\Framework\DB\Adapter\Pdo\Mysqlclase que se utiliza para ejecutar las consultas reales tiene un miembro registrador Magento\Framework\DB\LoggerInterface.
De forma predeterminada, la preferencia para esta dependencia se establece enapp/etc/di.xml
<preference for="Magento\Framework\DB\LoggerInterface" type="Magento\Framework\DB\Logger\Quiet"/>
Esto Magento\Framework\DB\Logger\Quietno hace 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()
{
}
}
cambie la preferencia a Magento\Framework\DB\Logger\Filey debería ver las consultas iniciadas var/debug/db.log.
Magento viene con estos 2 registradores (Quiet y File) que compran por defecto, pero puede crear los suyos propios en caso de que necesite una forma diferente de registrar consultas.
logAllQueries=trueantes de que se registraran en el archivo - atwix.com/magento-2/database-queries-loggingLoggerInterfacese implementa porLoggerProxy, noLogger\Quiet, que a su vez toma parámetros de la configuración de implementación. Ver la respuesta de @ Felix ( magento.stackexchange.com/a/201517/60128 ).Al menos en versiones más recientes (mirando un 2.2.1 aquí y ahora) puede hacer
y tienen registros extensos
var/debug/db.log. No olvides volver a cerrar sesión con.
fuente
Para configurar
logAllQueries=truepuede agregar el siguiente códigoapp/etc/di.xmlpara cambiar los__construct()parámetros deMagento\Framework\DB\Logger\File:También puede cambiar los otros parámetros
$debugFile,$logQueryTimey$logCallStackde esa manera.fuente
Aquí está mi di.xml
fuente