php 日志,PHP日志记录器Monolog日志记录工具

PHP-FIG规定的日志记录器其实就是一个接口。PSR-3说接口复用了RFC 5424系统日志协议。

如果你正在准备自己开发日志记录器的话,可以你就别在浪费时间了。因为有个成熟的Monklog组件完全可以实现PSR-3接口,而且便于使用自定义的消息格式化程序和处理程序扩展功能。

Monolog的消息处理程序可以把日志消息写入文本文件,系统日志和数据库,能通过电子邮件发送,还能传给HipChat、Slack、网络中的服务器和远程API。只要你能想到的日志处理方式Monolog几乎提供了。如果Monolog没有你需要的处理程序,你也可以自己编写程序,并将其集成到Monolog中。

Monolog是php下比较全又容易扩展的记录日志组件。目前有包括Symfony 、Laravel、 CakePHP等诸多知名php框架都内置了Monolog。

Monolog可以把你的日志发送到文件,sockets,收件箱,数据库和各种web服务器上。一些特殊的组件可以给你带来特殊的日志策略。

示例:将日志消息写入文本文件中。

use Monolog\Logger;

use Monolog\Handler\StreamHandler;

// 准备日志记录器

$log = new Logger('name');

$log->pushHandler(new StreamHandler('path/warning.log', Logger::WARNING));

$log->pushHandler(new StreamHandler('path/debug.log', Logger::DEBUG));

// 使用日志记录器

$log->debug('yes');

$log->warning('yes');

核心概念

每个Logger实例都有一个通道和日志处理器栈。每当你添加一条日志记录,它会被发送到日志处理器栈。 你可以创建很多Logger,每个Logger定义一个通道(db,请求,路由),每个Logger有很多日志处理器。这些通道会过滤日志。

每个日志处理器都有一个Formatter(内置的日志显示格式处理器)。你还可以设定日志级别。

日志级别

DEBUG:详细的debug信息

INFO:感兴趣的事件。像用户登录,SQL日志

NOTICE:正常但有重大意义的事件。

WARNING:发生异常,使用了已经过时的API。

ERROR:运行时发生了错误,错误需要记录下来并监视,但错误不需要立即处理。

CRITICAL:关键错误,像应用中的组件不可用。

ALETR:需要立即采取措施的错误,像整个网站挂掉了,数据库不可用。这个时候触发器会通过SMS通知你。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值