Magento 2: лог медленных запросов


10

Еще в M1 вы могли регистрировать медленные запросы, изменяя следующие переменные в 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';

Поэтому мне интересно, как я могу сделать это в М2? Я нашел некоторые интересные вещи в lib/internal/Magento/Framework/DB/Logger/LoggerAbstract, а также , lib/internal/Magento/Framework/DB/Logger/Fileно я не уверен на 100% , как решить это.

Ответы:


14

app/etc/di.xml имеет следующий набор предпочтений

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

Добавьте свой собственный модуль, чтобы изменить настройки файлового регистратора, с которым вы упомянули

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

Вы также должны быть в состоянии изменить параметры с помощью того же 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>

Сладкий, я знал, что это повлечет за собой некоторые изменения DI. Хорошо знать. Большое спасибо
Рафаэль в Digital Pianism

Привет, я считаю, что «xsi: type» для аргументов «logAllQueries» и «logCallStack» должен быть «логическим», а не «bool».
Andrew C. Stayart

Спасибо @AndrewStayart - исправлено. Похоже, что в 2.2 могут быть еще какие-то изменения в магазине github.com/magento/magento2/blob/2.2.0-preview/app/etc/…
Кристоф из Fooman
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.