ftrotter/two-table-monolog-mysql

Monolog的处理器,将消息发送到MariaDB(或MySQL),消息和上下文数组分别存储在两个表中

v1.0.4 2017-02-13 17:23 UTC

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文件以获取更多信息。