Skip to content

Instantly share code, notes, and snippets.

@hirak
Created July 5, 2014 03:48
Show Gist options
  • Save hirak/8ffb84abbdaea223999c to your computer and use it in GitHub Desktop.
Save hirak/8ffb84abbdaea223999c to your computer and use it in GitHub Desktop.
Zend\LogでFingersCrossedモード(問題発生時に過去ログを一気に出力) ref: http://qiita.com/Hiraku/items/ebc2c6ec051c7dd15bd4
$ mkdir some-project
$ cd some-project
$ composer require 'zendframework/zend-log:*'
<?php
require 'vendor/autoload.php';
use Zend\Log;
use Zend\Log\Writer;
$logger = new Log\Logger;
//実際は適当なファイルなどを指定する。ここではお試しなので標準出力を指定
$writer = new Writer\Stream('php://output');
//FingersCrossed でラッピングする
$fingersCrossed = new Writer\FingersCrossed($writer, Log\Logger::CRIT);
$logger->addWriter($fingersCrossed);
// ここまででloggerの使用準備完了
$logger->debug('debug!!');
$logger->info('info!!');
$logger->notice('notice!!');
$logger->warn('warn!!');
$logger->err('error!!');
sleep(2);
$logger->crit('crit!!');
$logger->alert('alert!!');
$logger->emerg('emerg!!');
<?php
require 'vendor/autoload.php';
use Zend\Log;
use Zend\Log\Writer;
$logger = new Log\Logger;
//実際は適当なファイルなどを指定する。ここではお試しなので標準出力を指定
$writer = new Writer\Stream('php://output');
$writer->addFilter(new Log\Filter\Priority(Log\Logger::INFO)); //info以降のみ出力するよう抑制
//FingersCrossed でラッピングする
$fingersCrossed = new Writer\FingersCrossed($writer, Log\Logger::CRIT);
$logger->addWriter($fingersCrossed);
// ここまでで使用準備完了
$logger->debug('debug!!'); //これが出力されることはない
$logger->info('info!!');
$logger->notice('notice!!');
$logger->warn('warn!!');
$logger->err('error!!');
sleep(2);
$logger->crit('crit!!');
$logger->alert('alert!!');
$logger->emerg('emerg!!');
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment