php日志库—monolog

日志无论是在开发过程成中还是部署在生产环境中,都经常使用。我们平时使用日志是简单的使用file_put_contents将日志写入文件中,会显得很混乱,monolog可能是php中最好的日志系统。
下面是monolog的简单使用,后期强大的功能还有待发掘。
monolog概述
monolog是php下的组件,可以把日志发送到文件,邮箱,数据库,服务器上面。
安装:
环境:composer
在项目的根目录,编辑composer.json文件
{
"require": {
  "monolog/monolog": "1.23.0"
 },
 "repositories": {
  "packagist": {
   "type": "composer",
   "url": "https://packagist.phpcomposer.com"
  }
 }
}
在项目根目录使用命令  composer install 进入自动安装
使用:
require '/vendor/autoload.php'; 
//composer自动加载:
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
$log = new Logger('control');
//添加方法 StreamHandler 将记录保存在文件中
$log->pushHandler(new StreamHandler('path.log', Logger::NOTICE));
//增加一个日志,写入到硬盘中,等级为notice
$log->addInfo('状态查询成功',array("id"=> $device_id ,"message"=>"查询成功", "state"=>$state));
//写入日志  等级为info低于notice 则不写入
$log->addNotice('nocice',array("id"=> $device_id ,"message"=>"notice", "state"=>$state));
//写入日志  等级为notice 等于notice写入
$log->addError('状态查询失败',array("id"=> $device_id ,"message"=>"查询失败", "state"=>$state));
//写入错误日志 等级为error高于notice 则写入
日志信息:

[2018-07-27 18:03:54] name.NOTICE: nocice {"id":1,"message":"notice","state":1} []
[2018-07-27 18:03:54] name.ERROR: 状态查询失败 {"id":1,"message":"查询失败","state":1} []

日志有八个等级

1.DEBUG (100): 详细的调试信息


2.INFO (200): 感兴趣的事件。示例:用户登录,SQL日志


3.NOTICE (250):正常但重要的事件


4.WARNING (300): 特殊情况不是错误。示例:使用不推荐使用的API,使用不当的API,不一定错误的不良内容。


5.ERROR (400): 特殊情况不是错误。示例:使用不推荐使用的API,使用不当的API,不一定错误的不良内容。


6.CRITICAL (500): 应用程序组件不可用,意外异常。


7.ALERT (550): 必须立即采取行动。示例:整个网站关闭,数据库不可用等。这应该触发SMS警报并唤醒您。


8.EMERGENCY (600): 紧急情况:系统无法使用。

当信息的等级高于或等于handler的等级时,日志才会写入。
常用Handlers功能 

StreamHandler  将记录写在文件中
MailHandler 错误信息被记录时发送邮件
ErrorLogHandler 记录写进php错误日志中
SocketHandler  通过socket写日志
RedisHandler 将日志写进Redis
MongoHandler 将日志写进mongodb

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值