Monolog是PHP中流行的PSR-3兼容日志库,支持将日志输出到文件、邮件、Sentry等目标;通过Composer安装后,可使用Logger创建日志通道,结合StreamHandler或RotatingFileHandler写入日志,并利用上下文信息记录结构化数据,提升应用可观测性。

在PHP项目中,良好的日志管理对调试、监控和故障排查至关重要。Monolog 是 PHP 社区中最流行的日志库之一,它遵循 PSR-3 日志接口标准,功能强大且易于扩展。通过 Monolog,你可以将日志输出到文件、系统日志、数据库、邮件、远程服务(如 Sentry、Slack)等多种目标。
安装 Monolog
使用 Composer 安装 Monolog:
composer require monolog/monolog
安装完成后,Composer 会自动加载类文件,你可以在项目中直接使用。
基本使用:记录日志到文件
以下是一个简单的例子,展示如何使用 Monolog 将日志写入文件:
立即学习“PHP免费学习笔记(深入)”;
use MonologLogger;
use MonologHandlerStreamHandler;
// 创建一个日志通道
$log = new Logger(‘name’);
// 设置处理器:将日志写入指定文件
$log->pushHandler(new StreamHandler(__DIR__ . ‘/logs/app.log’, Logger::DEBUG));
// 添加日志记录
$log->debug(‘这是一条调试信息’);
$log->info(‘用户登录成功’, [‘user_id’ => 123]);
$log->warning(‘磁盘空间不足’);
$log->error(‘数据库连接失败’);
上面代码中,Logger(‘name’) 创建了一个名为 “name” 的日志通道,通常可按模块命名,如 ‘auth’、’payment’ 等。
StreamHandler 指定日志输出路径和最低日志级别(如 DEBUG 会记录所有级别)。
使用不同处理器发送日志
Monolog 支持多种 Handler,可以根据需要组合使用:
StreamHandler:写入本地文件或 PHP 流 RotatingFileHandler:按日期轮转日志文件 SyslogHandler:写入系统日志 NativeMailerHandler:通过邮件发送错误日志 SentryHandler:发送到 Sentry 错误追踪平台
示例:每天生成一个日志文件
use MonologHandlerRotatingFileHandler;
$log = new Logger(‘app’);
$log->pushHandler(new RotatingFileHandler(__DIR__ . ‘/logs/app.log’, 0, Logger::INFO));
$log->info(‘应用启动’);
RotatingFileHandler 会自动生成 app-YYYY-MM-DD.log 文件,并保留历史日志。
结构化日志与上下文信息
Monolog 支持在日志中添加上下文数据,便于排查问题:
$log->info(‘订单创建成功’, [
‘order_id’ => ‘ORD123456’,
‘amount’ => 99.99,
‘user_ip’ => ‘192.168.1.1’
]);
这些信息会以结构化格式(如 JSON)记录,方便后续分析。
基本上就这些。Monolog 配置灵活,适合从小型脚本到大型框架的各种项目。合理使用日志级别和处理器,能显著提升应用的可观测性。
以上就是php调用日志记录功能_php调用Monolog进行日志管理的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1328811.html
微信扫一扫
支付宝扫一扫