From ad37ca3c643d52464e9b2f8b4fce02e54938f80f Mon Sep 17 00:00:00 2001 From: qzl Date: Wed, 1 Apr 2026 14:32:04 +0800 Subject: [PATCH] feat(logging): add logging to settings automation_jobs_cubit --- .../cubits/automation_jobs_cubit.dart | 30 +++++++++++++++++-- 1 file changed, 27 insertions(+), 3 deletions(-) diff --git a/apps/lib/features/settings/presentation/cubits/automation_jobs_cubit.dart b/apps/lib/features/settings/presentation/cubits/automation_jobs_cubit.dart index 6e4334a..67486a5 100644 --- a/apps/lib/features/settings/presentation/cubits/automation_jobs_cubit.dart +++ b/apps/lib/features/settings/presentation/cubits/automation_jobs_cubit.dart @@ -1,5 +1,6 @@ import 'package:equatable/equatable.dart'; import 'package:flutter_bloc/flutter_bloc.dart'; +import '../../../../core/logging/logger.dart'; import '../../data/models/automation_job_model.dart'; import '../../data/apis/automation_jobs_api.dart'; @@ -42,6 +43,7 @@ class AutomationJobsState extends Equatable { class AutomationJobsCubit extends Cubit { final AutomationJobsApi _api; + final Logger _logger = getLogger('features.settings.automation_jobs'); AutomationJobsCubit(this._api) : super(AutomationJobsState()); @@ -50,7 +52,12 @@ class AutomationJobsCubit extends Cubit { try { final jobs = await _api.list(); emit(state.copyWith(jobs: jobs, isLoading: false)); - } catch (e) { + } catch (e, stackTrace) { + _logger.error( + message: 'Failed to load automation jobs', + error: e, + stackTrace: stackTrace, + ); emit(state.copyWith(isLoading: false, error: e.toString())); } } @@ -58,8 +65,15 @@ class AutomationJobsCubit extends Cubit { Future deleteJob(String id) async { try { await _api.delete(id); + _logger.info(message: 'Automation job deleted', extra: {'job_id': id}); await loadJobs(); - } catch (e) { + } catch (e, stackTrace) { + _logger.error( + message: 'Failed to delete automation job', + error: e, + stackTrace: stackTrace, + extra: {'job_id': id}, + ); emit(state.copyWith(error: e.toString())); } } @@ -77,7 +91,17 @@ class AutomationJobsCubit extends Cubit { .map((job) => job.id == id ? updated : job) .toList(); emit(state.copyWith(jobs: nextJobs)); - } catch (e) { + _logger.info( + message: 'Automation job status updated', + extra: {'job_id': id, 'enabled': enabled}, + ); + } catch (e, stackTrace) { + _logger.error( + message: 'Failed to update automation job status', + error: e, + stackTrace: stackTrace, + extra: {'job_id': id, 'enabled': enabled}, + ); emit(state.copyWith(error: e.toString())); } }