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 บางอย่าง ดีแล้วที่รู้. ขอบคุณมาก
Raphael ที่ Digital Pianism

สวัสดีฉันเชื่อว่า "xsi: type" สำหรับอาร์กิวเมนต์ "logAllQueries" และ "logCallStack" ควรเป็น "บูลีน" และไม่ใช่ "บูล"
แอนดรูซี. Stayart

ขอบคุณ @AndrewStayart - แก้ไขแล้ว ดูเหมือนว่า 2.2 อาจมีการเปลี่ยนแปลงเพิ่มเติมใน Store github.com/magento/magento2/blob/2.2.0-preview/app/etc/
เป็นต้น
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.