Обработчик MySQL для монолога, который позволяет хранить сообщения журнала в таблице MySQL. Он может регистрировать текстовые сообщения в определенную таблицу и автоматически создает таблицу, если ее не существует. Класс дополнительно позволяет динамически добавлять дополнительные атрибуты, которые хранятся в отдельном поле базы данных и могут использоваться для последующего анализа и сортировки.
Поскольку я больше не использую этот проект, и я не нахожу время, чтобы сохранить этот проект, поскольку он заслуживает, я был бы рад найти кого -то, кто его захватил. Пожалуйста, свяжитесь со мной по адресу [email protected], если вам будет интересно захватить этот проект. Спасибо!
Monolog-Mysql доступен через композитор. Просто добавьте следующую строку в ваш требуемый раздел на Composer.json и сделайте php composer.phar update .
"wazaari/monolog-mysql": ">1.0.0"
Просто используйте его в качестве любого другого обработчика монологов, подтолкните его в стек экземпляра монолога. Обработчик, однако, нуждается в некоторых параметрах:
Если $ 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. Пожалуйста, посмотрите на файл лицензии для получения дополнительной информации.