trim($matches[6]), 'user_id' => trim($matches[2]), 'username' => trim($matches[3]), 'role' => trim($matches[4]), 'fullname' => trim($matches[5]), 'device' => trim($matches[7]), ]; } } $totalUsers = User::where('role', 'user')->count(); $totalPenyakit = Penyakit::count(); $totalGejala = Gejala::count(); $totalRule = Rule::count(); return view('dashboard.admin', compact('parsedLogs', 'totalUsers', 'totalPenyakit', 'totalGejala', 'totalRule')); } public function user() { $userId = Auth::id(); $logFile = storage_path('logs/laravel.log'); if (!file_exists($logFile)) { $parsedLogs = []; } else { $lines = file($logFile); $lastFiveLogs = array_slice($lines, -5); $parsedLogs = []; foreach ($lastFiveLogs as $line) { preg_match('/\[(.*?)\] local\.INFO: Login berhasil \{"user_id":(\d+),"username":"(.*?)","role":"(.*?)","fullname":"(.*?)","time":"(.*?)","device":"(.*?)"\}/', $line, $matches); if (!empty($matches) && (int)$matches[2] === (int)$userId) { $parsedLogs[] = [ 'time' => trim($matches[6]), 'user_id' => trim($matches[2]), 'username' => trim($matches[3]), 'role' => trim($matches[4]), 'fullname' => trim($matches[5]), 'device' => trim($matches[7]), ]; } } $parsedLogs = array_reverse($parsedLogs); } return view('dashboard.user', compact('parsedLogs')); } }