- routes/console.php에 스케줄러 마이그레이션 (Laravel 12 표준) - appendOutputTo로 실행 결과 로그 기록 (storage/logs/scheduler.log) - onSuccess/onFailure로 성공/실패 이벤트 로그 (storage/logs/laravel.log) - app/Console/Kernel.php schedule() 메서드 정리 - CURRENT_WORKS.md 업데이트
33 lines
1.3 KiB
PHP
33 lines
1.3 KiB
PHP
<?php
|
|
|
|
use Illuminate\Foundation\Inspiring;
|
|
use Illuminate\Support\Facades\Artisan;
|
|
use Illuminate\Support\Facades\Schedule;
|
|
|
|
Artisan::command('inspire', function () {
|
|
$this->comment(Inspiring::quote());
|
|
})->purpose('Display an inspiring quote');
|
|
|
|
// 스케줄러 정의 (Laravel 12 표준 방식)
|
|
// 매일 새벽 03:10에 감사 로그 정리 (환경값 기반 보관기간)
|
|
Schedule::command('audit:prune')
|
|
->dailyAt('03:10')
|
|
->appendOutputTo(storage_path('logs/scheduler.log'))
|
|
->onSuccess(function () {
|
|
\Illuminate\Support\Facades\Log::info('✅ audit:prune 스케줄러 실행 성공', ['time' => now()]);
|
|
})
|
|
->onFailure(function () {
|
|
\Illuminate\Support\Facades\Log::error('❌ audit:prune 스케줄러 실행 실패', ['time' => now()]);
|
|
});
|
|
|
|
// 매일 새벽 03:20에 만료된 토큰 정리 (만료 후 24시간 보관)
|
|
Schedule::command('sanctum:prune-expired --hours=24')
|
|
->dailyAt('03:20')
|
|
->appendOutputTo(storage_path('logs/scheduler.log'))
|
|
->onSuccess(function () {
|
|
\Illuminate\Support\Facades\Log::info('✅ sanctum:prune-expired 스케줄러 실행 성공', ['time' => now()]);
|
|
})
|
|
->onFailure(function () {
|
|
\Illuminate\Support\Facades\Log::error('❌ sanctum:prune-expired 스케줄러 실행 실패', ['time' => now()]);
|
|
});
|