PHP 例外ログ: 例外ハンドラーをカスタマイズすることで、例外クラス、エラー情報、スタック トレースなどの例外の詳細をログ ファイルに記録できます。これらのログを使用すると、データベース接続エラーなどの運用上の問題を迅速に特定して解決し、アプリケーションをスムーズに実行できます。
複雑な Web アプリケーションでは例外が避けられません。 PHP は、例外の捕捉と記録に役立つ強力な例外処理メカニズムを提供し、運用上の問題を迅速に特定して解決するのに役立ちます。
例外ログは、例外が発生したときにすべての関連情報を記録する特別なログ ファイルです。この情報には以下が含まれます:
PHPでは、set_exception_handler()
関数middleを使用してカスタム例外ハンドラをアプリケーションに登録できます。例外が発生すると、このハンドラーが呼び出され、次のアクションが実行されます:
public static function exceptionHandler(Throwable $exception): void { // 将异常详细信息记录到日志文件中 error_log("Error: " . $exception->getMessage() . PHP_EOL, 3, "errors.log"); error_log("Stack trace: " . $exception->getTraceAsString() . PHP_EOL, 3, "errors.log"); }
問題: データベース接続エラー
例外ログ:
[2023-03-09 18:09:00] Error: SQLSTATE[HY000] [2002] Connection refused. [2023-03-09 18:09:00] Stack trace: #0 ...\classes\Database.php(23): mysqli->real_connect() #1 ...\classes\User.php(15): Database->connect() #2 ...\index.php(17): User->load()
このログには、データベース接続が次の理由で失敗したことが明確に示されています。異常を引き起こします。問題を簡単に特定し、解決するための措置を講じることができます。
例外ログを活用することで、PHP アプリケーションは運用上の問題に関する重要な情報を収集できます。この情報は、問題のトラブルシューティングと解決を迅速に行い、アプリケーションがスムーズに実行されるようにするのに役立ちます。
以上がPHP 例外処理: 例外ログを使用して運用上の問題を分析するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。