Php 无法将Silverstripe 4错误日志写入电子邮件
我已经把这些代码放到了.yml文件中,我仍然没有收到有错误的电子邮件Php 无法将Silverstripe 4错误日志写入电子邮件,php,error-handling,silverstripe-4,Php,Error Handling,Silverstripe 4,我已经把这些代码放到了.yml文件中,我仍然没有收到有错误的电子邮件 SilverStripe\Core\Injector\Injector: Psr\Log\LoggerInterface: calls: MailHandler: [ pushHandler, [ '%$MailHandler' ] ] MailHandler: class: Monolog\Handler\NativeMailerHandler constr
SilverStripe\Core\Injector\Injector:
Psr\Log\LoggerInterface:
calls:
MailHandler: [ pushHandler, [ '%$MailHandler' ] ]
MailHandler:
class: Monolog\Handler\NativeMailerHandler
constructor:
- abc@sss.com
- There was an error on your test site
- abc@sss.com
- error
properties:
ContentType: text/html
Formatter: %$SilverStripe\Logging\DetailedErrorFormatter
您还没有提到正在使用哪个版本的Silverstripe 4,所以我假设它是最新的次要版本之一 自4.4.0以来,我认为Silverstripe不会写入默认的LoggerInterface处理程序来处理核心错误,从而允许您将其用于自定义应用程序日志记录。如果您是4.4以后的版本,并且希望将应用程序错误发送给邮件处理程序,则需要改用Psr\Log\LoggerInterface.errorhandler实例:
SilverStripe\Core\Injector\Injector:
Psr\Log\LoggerInterface.errorhandler:
...
您还应该确保您的操作正确。我使用了silverstripe 4版本通过运行composer show silverstripe/frameworkversions,您可以找到您正在使用的版本:*4.1.2我已经在下面写了一行,但电子邮件中仍然没有出现错误。我是否必须编辑.env文件或_config.php Psr\Log\LoggerInterface.errorhandler:好的,您使用的是旧版本的Silverstripe 4,因此您已有的配置是正确的。其他电子邮件在您的系统中工作吗?您是否阅读了我为配置电子邮件驱动程序而链接的文档?