Magento 1では、例外をキャッチして、exception.logファイルにログを記録することができました。Mage::logException($e);
今、Magento 2では、できますcatch (\Exception $e)が、キャッチされた例外をどうすればいいですか?にログインするにはどうすればよいexception.logですか?または、これを処理する一般的な方法は何ですか?
Magento 1では、例外をキャッチして、exception.logファイルにログを記録することができました。Mage::logException($e);
今、Magento 2では、できますcatch (\Exception $e)が、キャッチされた例外をどうすればいいですか?にログインするにはどうすればよいexception.logですか?または、これを処理する一般的な方法は何ですか?
回答:
例外のロギングを開始する最も簡単な方法はPsr\Log\LoggerInterface、クラスのコンストラクターを挿入することです。
private $logger;
public function __construct(\Psr\Log\LoggerInterface $logger)
{
    $this->logger = $logger;
}そして、あなたのcatch声明で:
public function doSomething()
{
    try {
        /* Some logic that could throw an Exception */
    } catch (\Exception $e) {
        $this->logger->critical($e->getMessage());
    }
}例外がキャッチされた後の対応方法に関連する他のことは、M1とM2の間で違いはありません。また、戦略は、例外処理のユースケースに非常に固有です。
critical()代わりの方法をdebug()
                    Magento2には、さまざまなタイプの例外ハンドラーがあります。例:
StateExceptionInputExceptionInvalidEmailOrPasswordExceptionMailExceptionNotFoundExceptionValidatorException等。
すべてのハンドラタイプとそのクラスはに存在し\vendor\magento\framework\Exceptionます。
要件に関連する例外ハンドラを選択して使用する必要があります。
$this->logger->debug($e)。