Monolog是php下比较全又容易扩展的记录日志组件。目前有包括Symfony 、Laravel、 CakePHP等诸多知名php框架都内置了Monolog。
Monolog可以把你的日志发送到文件,sockets,收件箱,数据库和各种web服务器上。一些特殊的组件可以给你带来特殊的日志策略。
日志级别
- DEBUG:详细的debug信息
- INFO:感兴趣的事件。像用户登录,SQL日志
- NOTICE:正常但有重大意义的事件。
- WARNING:发生异常,使用了已经过时的API。
- ERROR:运行时发生了错误,错误需要记录下来并监视,但错误不需要立即处理。
- CRITICAL:关键错误,像应用中的组件不可用。
- ALETR:需要立即采取措施的错误,像整个网站挂掉了,数据库不可用。这个时候触发器会通过SMS通知你,
使用例子:
安装:composer require monolog/monolog
<?php
include 'vendor/autoload.php';//包含自动加载文件
//引入对应类文件的命名空间
use Monolog\Logger;
use Monolog\Handler\StreamHandler;
use Monolog\Handler\FirePHPHandler;
use Monolog\Formatter\LineFormatter;
// Create some handlers
$stream = new StreamHandler(__DIR__.'/my_app.log', Logger::DEBUG);
$firephp = new FirePHPHandler();
// Create the main logger of the app
$logger = new Logger('my_logger');
//定义保存日志的方式
$logger->pushHandler($stream);
$logger->pushHandler($firephp);
//记录日志的各种方法
$securityLogger->debug('I am debug', array $context = array());
$securityLogger->info('I am info', array $context = array());
$securityLogger->notice('I am notice', array $context = array());
$securityLogger->warn('I am warn', array $context = array());
$securityLogger->error('I am error', array $context = array());
$securityLogger->critical('I am critical', array $context = array());
$securityLogger->alert('I am alert', array $context = array());
$securityLogger->emergency('I am emergency', array $context = array());
浙公网安备 33010602011771号