众所周知,PHP的Monolog功能强大,几乎覆盖了大多数的日志记录应用场景,但是唯独遗漏了数据库日志的场景,今天我们就来介绍一个作者开发的第三方扩展DatabaseHandler。
在开始之前,我们需要添加一下数据表,以MySQL为例:
CREATE TABLE IF NOT EXISTS `t_logs` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`message` text NOT NULL,
`channel` varchar(20) NOT NULL,
`level_name` varchar(20) NOT NULL,
`level` smallint(6) NOT NULL,
`context` text NOT NULL,
`extra` text NOT NULL,
`datetime` timestamp NULL DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
COMMIT;
1、添加完数据表之后,我们首先安装一下依赖
composer require pianzhou/monolog
2、目前Database Handler支持PDO实例和laravel ConnectionInterface实例
2.1 PDO实例使用方法
$dbHandler = new \Pianzhou\Monolog\Handler\DatabaseHandler(
new PDO('mysql:host=localhost;dbname=test', 'root', ''),
't_logs',
\Monolog\Logger::DEBUG,
true
);
$dbHandler->setFormatter(new \

本文介绍了如何使用PHP Monolog扩展DatabaseHandler实现数据库日志记录,包括MySQL数据表创建、依赖安装、PDO及laravel ConnectionInterface实例的使用方法,以及配合BufferHandler进行批量写入日志。
最低0.47元/天 解锁文章
472

被折叠的 条评论
为什么被折叠?



