MySQL Handler สำหรับ Monolog ซึ่งอนุญาตให้เก็บข้อความบันทึกไว้ในตาราง MySQL มันสามารถบันทึกข้อความไปยังตารางเฉพาะและสร้างตารางโดยอัตโนมัติหากไม่มีอยู่ คลาสเพิ่มเติมช่วยให้สามารถเพิ่มแอตทริบิวต์พิเศษแบบไดนามิกซึ่งจะถูกเก็บไว้ในฟิลด์ฐานข้อมูลแยกต่างหากและสามารถใช้สำหรับการวิเคราะห์และการเรียงลำดับในภายหลัง
เนื่องจากฉันไม่ได้ใช้โครงการนี้ด้วยตัวเองอีกต่อไปและฉันไม่พบเวลาในการรักษาโครงการนี้เพราะสมควรได้รับฉันยินดีที่จะหาคนที่จะรับมัน โปรดติดต่อฉันที่ [email protected] หากคุณน่าสนใจที่จะเข้ามาทำโครงการนั้น ขอบคุณ!
Monolog-mysql มีให้บริการผ่านนักแต่งเพลง เพียงเพิ่มบรรทัดต่อไปนี้ในส่วนที่คุณต้องการใน Pomposer.json และทำการ php composer.phar update
"wazaari/monolog-mysql": ">1.0.0"
เพียงแค่ใช้เป็นตัวจัดการคนเดียวให้ผลักมันไปที่สแต็กของอินสแตนซ์ของคนบันทึกโมโนโลจีของคุณ อย่างไรก็ตามตัวจัดการต้องการพารามิเตอร์บางอย่าง:
หากการตั้งค่า $ skipdatabaseModifications เป็นจริงโปรดใช้แบบสอบถามต่อไปนี้เป็นเทมเพลตเพื่อสร้างตารางบันทึก (พร้อมฟิลด์เพิ่มเติมหากจำเป็น)
CREATE TABLE ` log ` (
id BIGINT ( 20 ) UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY , channel VARCHAR ( 255 ), level INTEGER , message LONGTEXT, time INTEGER UNSIGNED, INDEX(channel) USING HASH, INDEX(level) USING HASH, INDEX( time ) USING BTREE
)เนื่องจาก $ PDO เป็นอินสแตนซ์ฐานข้อมูลของคุณคุณสามารถใช้คลาสดังนี้:
//Import class
use MySQLHandler MySQLHandler ;
//Create MysqlHandler
$ mySQLHandler = new MySQLHandler ( $ pdo , " log " , array ( ' username ' , ' userid ' ), Monolog Logger:: DEBUG );
//Create logger
$ logger = new Monolog Logger ( $ context );
$ logger -> pushHandler ( $ mySQLHandler );
//Now you can use the logger, and further attach additional information
$ logger -> addWarning ( " This is a great message, woohoo! " , array ( ' username ' => ' John Doe ' , ' userid ' => 245 ));เครื่องมือนี้เป็นซอฟต์แวร์ฟรีและแจกจ่ายภายใต้ใบอนุญาต MIT โปรดดูไฟล์ใบอนุญาตสำหรับข้อมูลเพิ่มเติม