A Laravel(ログ エラーハンドリング) - user000422/0 GitHub Wiki
ログ(logs/laravel.log)
標準の設定ではstorage/log/laravel.log
に出力される。
デフォルトではローテーションされない。
ログ(カスタム)
設定ファイル config/logging.php
Controller
// 単純なログ出力の場合
\Log::info('Authorization code:', ['code' => $request->code]);
\Log::debug('message', ['name' => $name]);
■ログカスタム
config/logging.php
'channels' => [
'stack' => [
// 割愛
],
// 追加
'sample' => [
'driver' => 'custom',
'via' => App\Logging\CreateCustom1Logger::class,
'path' => storage_path('logs/sample.log'),
'level' => 'debug',
'days' => 14,
],
app/Logging/SampleLogger.php
を作成
public function __invoke(array $config)
{
//
}
Laravel8からは
エラーハンドリング
■例外処理が必要なパターン 「DB連携」「API連携」「認証」「バリデーション」「ファイルアップロード」「システムクリティカルエラー」
.env
# エラー内容をブラウザに出力
# 本番環境では「false」にすること
APP_DEBUG=true
■Try 【要確認】「Throwable」はPHP7から登場。すべてのエラーを補足。
try {
// 処理
// エラーを発生させる
throw new \Exception("エラーだよ");
} catch (Throwable $e) {
// エラー
\Log::error($e); // エラー内容すべて出力
\Log::error($e->getMessage()); // 簡単なエラーメッセージのみ出力
}