MySQL -Handler für Monolog, mit dem Protokollnachrichten in einer MySQL -Tabelle gespeichert werden können. Es kann Textnachrichten in einer bestimmten Tabelle protokollieren und die Tabelle automatisch erstellt, wenn sie nicht vorhanden ist. Die Klasse ermöglicht es weiter, zusätzliche Attribute hinzuzufügen, die in einem separaten Datenbankfeld gespeichert sind und zur späteren Analyse und Sortierung verwendet werden können.
Da ich dieses Projekt nicht mehr benutze und nicht die Zeit finde, dieses Projekt beizubehalten, da es es verdient, würde ich gerne jemanden finden, der es übernimmt. Bitte kontaktieren Sie mich unter [email protected], wenn Sie dieses Projekt interessant wären. Danke!
Monolog-Mysql ist über einen Komponisten erhältlich. Fügen Sie einfach die folgende Zeile zu Ihrem erforderlichen Abschnitt in Composer.json hinzu und führen Sie ein php composer.phar update durch.
"wazaari/monolog-mysql": ">1.0.0"
Verwenden Sie es einfach als jeder andere Monolog -Handler und schieben Sie es in den Stapel Ihrer Monolog -Logger -Instanz. Der Handler benötigt jedoch einige Parameter:
Wenn $ SkipDatabasemodifikationen auf true eingestellt sind, verwenden Sie die folgende Abfrage als Vorlage, um die Protokolltabelle zu erstellen (mit zusätzlichen Feldern, falls erforderlich).
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
)Angesichts der Tatsache, dass $ PDO Ihre Datenbankinstanz ist, können Sie die Klasse wie folgt verwenden:
//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 ));Dieses Tool ist kostenlose Software und wird unter der MIT -Lizenz verteilt. Bitte sehen Sie sich die Lizenzdatei für weitere Informationen an.