diff --git a/apps/lib/features/todo/data/repositories/todo_repository.dart b/apps/lib/features/todo/data/repositories/todo_repository.dart index dc64181..a632d2e 100644 --- a/apps/lib/features/todo/data/repositories/todo_repository.dart +++ b/apps/lib/features/todo/data/repositories/todo_repository.dart @@ -3,6 +3,7 @@ import 'dart:async'; import '../../../../data/cache/cache_store.dart'; import '../../../../data/cache/cache_policy.dart'; import '../../../../data/cache/cached_repository.dart'; +import '../../../../core/logging/logger.dart'; import '../apis/todo_api.dart'; class TodoRepository extends CachedRepository> { @@ -10,6 +11,7 @@ class TodoRepository extends CachedRepository> { final TodoApi api; final CacheInvalidator invalidator; + final Logger _logger = getLogger('features.todo.repository'); TodoRepository({ required this.api, @@ -50,7 +52,14 @@ class TodoRepository extends CachedRepository> { try { await api.completeTodo(id); invalidator.invalidate(pendingListKey); - } catch (error) { + _logger.info(message: 'Todo completed', extra: {'todo_id': id}); + } catch (error, stackTrace) { + _logger.error( + message: 'Failed to complete todo', + error: error, + stackTrace: stackTrace, + extra: {'todo_id': id}, + ); if (cached != null) { await writeCacheEntry(pendingListKey, cached.value); }