刚刚开始使用Monolog在我的PHP项目中记录错误,但我想将最小错误报告设置设置为NOTICE及以上。我现在用的密码
use Monolog\ErrorHandler;
$handler = new ErrorHandler($logger);
$handler->registerErrorHandler([], false);
$handler->registerExceptionHandler();
$handler->registerFatalHandler();
它生成包括通知在内的所有错误。我怎么能把等价设为
错误报告(E_全部)
使用Monolog
独白日志记录级别与PHP日志记录级别无关。由error\u reporting()
设置的PHP日志记录级别控制PHP引擎本身在其输出中报告的内容类型。Monolog日志记录级别模拟unix系统日志级别,并由应用程序驱动,而不是由PHP驱动。例如,error\u reporting()
处理PHP生成的消息,而Monolog处理应用程序生成的消息。例如,在您的应用程序中,当您发出日志时,您指示其严重性:
if ($some_not_important_condition) {
$logger->info('foo');
}
if ($some_important_condition) {
$logger->error('bar');
}
因此,您的应用程序总是在创建info
级别的日志条目,由运行时配置来决定导入哪些条目和/或它们去哪里。例如,您可以在开发中打印到屏幕上,或者在生产中登录Nagios。
ErrorHandler
将捕获所有级别的trigger\u error
,除非您使用@
操作符使其静音,或通过error\u reporting(E\u all)实际设置错误报告
如果出于某种原因,您希望保留错误报告,但同时筛选出哪些错误被monolog错误处理程序捕获,我会选择扩展错误处理程序并注册它。像这样的东西:
class MyErrorHandler extends Monolog\ErrorHandler{
public function handleError($code, $message, $file = '', $line = 0, $context = [])
{
if($code === E_NOTICE){
return;
}
parent::handleError($code, $message, $file, $line, $context);
}
}
use MyErrorHandler as ErrorHandler;
$handler = new ErrorHandler($logger);
$handler->registerErrorHandler([], false);
$handler->registerExceptionHandler();
$handler->registerFatalHandler();
请注意,我还没有实际测试过这个,但我没有发现它不起作用的原因
本文向大家介绍PHP配置文件php.ini中打开错误报告的设置方法,包括了PHP配置文件php.ini中打开错误报告的设置方法的使用技巧和注意事项,需要的朋友参考一下 打开PHP的错误报告的方法,供大家参考。 php.ini 文件中有许多配置设置。您应当已经设置好自己的 php.ini 文件并把它放在合适的目录中,就像在 Linux 上安装 PHP 和 Apache 2 的文档说明中所示的那样。
问题内容: 我经常会尝试运行PHP脚本,然后返回黑屏。没有错误信息;只是一个空白的屏幕。原因可能是简单的语法错误(括号错误,分号丢失),函数调用失败或完全是其他原因。 弄清楚出了什么问题是非常困难的。我最终注释掉了代码,在各处输入“ echo”语句,等等,试图缩小问题的范围。但是肯定有更好的方法吧? 有没有办法像Java一样使PHP产生有用的错误消息? 问题答案: 对于语法错误,您需要在php.i
我想从明天开始设置DatePicker对话框的最小日期。如果今天是2015年4月30日,则应从2015年5月1日开始。
我有一个Rest API的测试计划,其中有一个线程组和两个采样器。同时运行负载测试 线程数(用户):80 加速期:1 我得到"响应代码: 504响应消息:GATEWAY_TIMEOUT"在jmeta. 我观察到,当聚合图中的最大值达到60000ms时,所有响应都超时。需要采取哪些措施来防止超时问题。当我使用50个或更少的用户时,负载测试工作正常。
我试图在codeigniter中设置会话。当某人尝试使用电子邮件id和密码登录时。 1)使用电子邮件id查找他/她的角色。然后在会话中返回该结果并重定向到相应的链接。我在下面键入的代码。你能解决这个问题吗? 控制器 模型
问题内容: 我有一个XML文档,其中包含大约48,000个子级(〜50MB)。我运行INSERT MYSQL查询,为这些子项中的每个子项都创建新条目。问题是,由于其大小,它需要很多时间。执行后,我收到这个 如何将最大执行时间设置为无限制? 谢谢 问题答案: 您可以通过在您的php代码中设置set_time_limit来实现(无限制地设置为0) 或者直接在您的php.ini中修改max_execut