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';

Тож мені цікаво, як я можу це зробити в M2? Я також знайшов цікаві речі 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".
Ендрю К. Стаярт

Спасибі @AndrewStayart - виправлено. Схоже, що 2.2 може змінитись
Kristof в Fooman,
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.