Php 使用独白和呐喊
我试图在Php 使用独白和呐喊,php,exception,monolog,whoops,Php,Exception,Monolog,Whoops,我试图在set\u exception\u处理程序和set\u error\u处理程序中使用独白,同时在外面发出呜呜声 我试过两个地方跑呼呼声 Run-Whoops#1位置 结果:Monolog记录错误/异常,不会显示呜呜声 Run-Whoops#2位置 结果:独白不会记录任何东西,并且会显示呜呜声 我被困在为什么我不能让独白和呐喊一起工作 ... use Whoops\Run; use Whoops\Handler\PrettyPageHandler; error_reporting
set\u exception\u处理程序
和set\u error\u处理程序
中使用独白,同时在外面发出呜呜声
我试过两个地方跑呼呼声
Run-Whoops#1位置
- 结果:Monolog记录错误/异常,不会显示呜呜声
Run-Whoops#2位置
- 结果:独白不会记录任何东西,并且会显示呜呜声
...
use Whoops\Run;
use Whoops\Handler\PrettyPageHandler;
error_reporting(E_ALL);
ini_set('display_errors', 1);
//Run Whoops #1 Location
$whoops = new Run();
$whoops->prependHandler(new PrettyPageHandler());
$whoops->register();
function exceptionHandler($e)
{
//log the exception using monolog
}
function errorHandler($errno, $errstr, $errfile, $errline)
{
//log the error using monolog
}
set_error_handler("errorHandler");
set_exception_handler('exceptionHandler');
//Run Whoops #2 Location
php中的set_exception_处理函数被Whoops库覆盖。我们可以使用Whoops库的pushHandler方法注册一个通用处理函数,并在该函数内初始化Monolog:
use Monolog\Formatter\LineFormatter;
$whoops = new \Whoops\Run;
$whoops->pushHandler(function($exception, $inspector, $run) {
// Initialise Monolog here. Example with stack trace support:
$formatter = new LineFormatter(
LineFormatter::SIMPLE_FORMAT,
LineFormatter::SIMPLE_DATE
);
$formatter->includeStacktraces(true);
$errlog = new Logger('Error Log');
$stream = new StreamHandler("logs/error.log", Logger::ERROR);
$stream->setFormatter($formatter);
$errlog->pushHandler($stream);
$errlog->error($exception);
return Handler::DONE;
});
php中的set_exception_处理函数被Whoops库覆盖。我们可以使用Whoops库的pushHandler方法注册一个通用处理函数,并在该函数内初始化Monolog:
use Monolog\Formatter\LineFormatter;
$whoops = new \Whoops\Run;
$whoops->pushHandler(function($exception, $inspector, $run) {
// Initialise Monolog here. Example with stack trace support:
$formatter = new LineFormatter(
LineFormatter::SIMPLE_FORMAT,
LineFormatter::SIMPLE_DATE
);
$formatter->includeStacktraces(true);
$errlog = new Logger('Error Log');
$stream = new StreamHandler("logs/error.log", Logger::ERROR);
$stream->setFormatter($formatter);
$errlog->pushHandler($stream);
$errlog->error($exception);
return Handler::DONE;
});