monolog mysql
Support skipping database modifications
MySQL Handler for Monologは、MySQLテーブルにログメッセージを保存できます。テキストメッセージを特定のテーブルにログに記録でき、存在しない場合はテーブルを自動的に作成できます。このクラスでは、別のデータベースフィールドに保存され、後で分析と並べ替えに使用できる追加の属性を動的に追加することができます。
私はもう自分でこのプロジェクトを使用しておらず、このプロジェクトを維持する時間を見つけられないので、誰かがそれを引き継ぐことができてうれしいです。あなたがそのプロジェクトを引き継ぐのが面白い場合は、[email protected]まで私に連絡してください。ありがとう!
Monolog-MysqlはComposerを介して入手できます。 Composer.jsonの必要なセクションに次の行を追加し、 php composer.phar update行います。
"wazaari/monolog-mysql": ">1.0.0"
他のモノログハンドラーとして使用するだけで、Monolog Loggerインスタンスのスタックに押し込みます。ただし、ハンドラーにはいくつかのパラメーターが必要です。
$ skipdatabasemodificationsがtrueに設定されている場合は、次のクエリをテンプレートとして使用してログテーブルを作成してください(必要に応じて追加のフィールドを使用)
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ライセンスの下で配布されています。詳細については、ライセンスファイルをご覧ください。