Files
sam-api/routes/console.php
hskwon dbe3ed698a feat: 스케줄러 Laravel 12 표준 방식 전환 + 로그 기록
- routes/console.php에 스케줄러 마이그레이션 (Laravel 12 표준)
- appendOutputTo로 실행 결과 로그 기록 (storage/logs/scheduler.log)
- onSuccess/onFailure로 성공/실패 이벤트 로그 (storage/logs/laravel.log)
- app/Console/Kernel.php schedule() 메서드 정리
- CURRENT_WORKS.md 업데이트
2025-11-10 13:59:48 +09:00

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()]);
});