Monolog使用教程【入门案例版】

Monolog是PHP记录日志的神器,它真的很强大。在我们的日常工作中,掌握其中的几项,就大体够用了…

1. 输出到文件中,并自定义格式
	require_once('vendor/autoload.php');

	use Monolog\Logger;
	use Monolog\Formatter\LineFormatter;
	use Monolog\Handler\StreamHandler;

	$log = new Logger('debug');
	$dateFormat = "Y m jS, g:i a";
	// the default output format is "[%datetime%] %channel%.%level_name%: %message% %context% %extra%\n"
	$output = "%datetime% > %level_name% > %message% %context% %extra%\n";
	// finally, create a formatter
	$formatter = new LineFormatter($output, $dateFormat);

	$stream = new StreamHandler('1.log', Logger::CRITICAL);
	$stream->setFormatter($formatter);
	$log->critical("abc");

结果:
在这里插入图片描述

2. 输出到控制台
	require_once('vendor/autoload.php');

	use Monolog\Logger;
	use Monolog\Formatter\LineFormatter;
	use Monolog\Handler\StreamHandler;

	$log = new Logger('debug');

	$stream = new StreamHandler('php://stdout', Logger::CRITICAL);
	$stream->setFormatter($formatter);
	$log->critical("abc");
3. 输出到浏览器控制台
	require_once('vendor/autoload.php');

	use Monolog\Logger;
	use Monolog\Formatter\LineFormatter;
	use Monolog\Handler\StreamHandler;
	use Monolog\Handler\FirePHPHandler;

	$log = new Logger('debug');

	$handler = new \Monolog\Handler\BrowserConsoleHandler(Logger::INFO);

	$log->pushHandler($handler);
	// 额外添加url等web信息
	$log->pushProcessor(new \Monolog\Processor\WebProcessor());
	
	$log->addRecord(Logger::DEBUG,'My logger is now ready', ['author'=>'jim','date'=>date("Y-m-d")]);
	$log->addRecord(Logger::CRITICAL,'My logger is now ready', ['author'=>'jim','date'=>date("Y-m-d")]);
	$log->emergency("abc");

在这里插入图片描述

4. 输出到FirePHP 【浏览器需要添加firePHP插件】
	require_once('vendor/autoload.php');

	use Monolog\Logger;
	use Monolog\Formatter\LineFormatter;
	use Monolog\Handler\StreamHandler;
	use Monolog\Handler\FirePHPHandler;

	$log = new Logger('debug');

	$firephp = new FirePHPHandler();

	$log->pushHandler($firephp);
	$log->pushProcessor(new \Monolog\Processor\WebProcessor());
	
	
	$log->addRecord(Logger::DEBUG,'My logger is now ready', ['author'=>'liujx','date'=>date("Y-m-d")]);
	$log->addRecord(Logger::CRITICAL,'My logger is now ready', ['author'=>'liujx','date'=>date("Y-m-d")]);
	$log->emergency("abc");

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值