ftrotter / two-table-monolog-mysql
Monolog的处理器,将消息发送到MariaDB(或MySQL),消息和上下文数组分别存储在两个表中
v1.0.4
2017-02-13 17:23 UTC
Requires
- monolog/monolog: >1.4.0
This package is auto-updated.
Last update: 2024-09-29 05:55:25 UTC
README
这是monolog-mysql项目的分支,用于实现我需要的两个重要功能
- 在设置时指定数据库,而不仅仅是表。
- 将日志记录到两个不同的表中,一个用于消息,另一个用于上下文数组。
安装
monolog-mysql可以通过composer获得。只需在composer.json的要求部分添加以下行,然后执行php composer.phar update
。
"ftrotter/two-table-monolog-mysql": ">0.0.1"
使用方法
就像使用其他Monolog处理器一样使用它,将其推送到Monolog Logger实例的堆栈中。但是,处理器需要一些参数
- $pdo 数据库的PDO实例。传递数据库连接的PDO实例,包括选定的数据库。
- $database 应该存储日志的数据库的名称
- $message_table 应该存储消息日志的表名
- $context_table 应该存储上下文日志的表名
- $level 可以是任何标准Monolog日志级别。使用Monolog静态定义的上下文。 默认为Logger::DEBUG
- $bubble 默认为true
示例
假设$pdo是您的数据库实例,您可以使用此类如下
//Import class use TwoMySQLHandler\TwoMySQLHandler; //Create MysqlHandler $mySQLHandler = new TwoMySQLHandler($pdo,"log_db", "log_message", "log_context", array('username', 'userid'), \Monolog\Logger::DEBUG); $context = ['not_sure', 'what_goes_here']; //not clear to me how this works //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许可证分发。请参阅LICENSE文件以获取更多信息。