Magento 2: Langsame Abfragen protokollieren

10

Zurück in M1 konnten Sie die langsamen Abfragen protokollieren, indem Sie die folgenden Variablen in ändern lib/Varien/Db/Adapter/Pdo/Mysql.php:

/**
  * Write SQL debug data to file
  *
  * @var bool
  */
 protected $_debug               = false;
 /**
  * Minimum query duration time to be logged
  *
  * @var unknown_type
  */
 protected $_logQueryTime        = 0.05;
 /**
  * Log all queries (ignored minimum query duration time)
  *
  * @var bool
  */
 protected $_logAllQueries       = false;
 /**
  * Add to log call stack data (backtrace)
  *
  * @var bool
  */
 protected $_logCallStack        = false;
 /**
  * Path to SQL debug data log
  *
  * @var string
  */
 protected $_debugFile           = 'var/debug/sql.txt';

Ich frage mich also, wie ich das in M2 machen kann. Ich habe einige interessante Sachen gefunden lib/internal/Magento/Framework/DB/Logger/LoggerAbstractsowie lib/internal/Magento/Framework/DB/Logger/Fileaber ich bin nicht 100% sicher , wie dies in Angriff zu nehmen.

Raphael beim digitalen Pianismus
quelle

Antworten:

14

app/etc/di.xml hat die folgenden Voreinstellungen festgelegt

<preference for="Magento\Framework\DB\LoggerInterface" type="Magento\Framework\DB\Logger\Quiet"/>

Fügen Sie Ihr eigenes Modul hinzu, um die Einstellungen für den von Ihnen erwähnten Dateilogger zu ändern

<preference for="Magento\Framework\DB\LoggerInterface" type="Magento\Framework\DB\Logger\File"/>

Sie sollten auch in der Lage sein, die Parameter über dieselbe zu ändern di.xml

<type name="Magento\Framework\DB\Logger\File">
    <arguments>
        <argument name="debugFile" xsi:type="string">debug/db-custom.log</argument>
        <argument name="logAllQueries" xsi:type="boolean">false</argument>
        <argument name="logQueryTime" xsi:type="number">0.01</argument>
        <argument name="logCallStack" xsi:type="boolean">false</argument>
    </arguments>
</type>
Kristof bei Fooman
quelle
Süß, ich wusste, dass es einige DI-Änderungen geben würde. Gut zu wissen. Vielen Dank
Raphael bei Digital Pianism
Hallo, ich glaube, dass der "xsi: type" für die Argumente "logAllQueries" und "logCallStack" "boolean" und nicht "bool" sein sollte.
Andrew C. Stayart
Danke @AndrewStayart - behoben. Sieht aus wie 2.2 möglicherweise einige weitere Änderungen im Speicher haben github.com/magento/magento2/blob/2.2.0-preview/app/etc/...
Kristof bei Fooman